Es ist nur eine Schicht oben auf diesem "normalen alten mvc" Stapel, der "automatisch" mit spezifischen Saas-Diensten handelt.
Es war einmal - Webhooks wurden manuell codiert
Überlegen Sie einen Listener für ein Dropbox Webhook Codierung. Sie müssen alle Parameter und die Validierung von Grund auf neu programmieren, Sie müssen oauth2.0 kennen (und herausfinden, wie Sie es aktivieren), und Sie müssen herausfinden, welche Hooks verfügbar sind.
Webhooks in asp.net lassen die Jungs, die Dropbox codieren auch die Parameter und Skelett-Code für Ihren Webhook. So ist es einfacher, es schnell richtig zu machen.
Offensichtlich, wenn Sie Ihre eigenen Webhooks veröffentlichen, dann stellen sie die Installation zur Verfügung, so dass Sie "Beobachter" innerhalb Ihres Codes erstellen können, und sie bieten eine automatisierte Möglichkeit für andere, diese Listener zu abonnieren. Nochmals, Sie könnten das alles selbst programmieren, aber folgende Standards sind ein einfacher Weg, um sicherzustellen, dass andere keine steile Lernkurve haben, wenn es Zeit ist, IHRE Haken zu konsumieren.
Denken "nuget für Web-Service"
Denken Sie darüber nach, wie nuget grundsätzlich den Prozess für geänderte Verweise auf Ihren Code hinzufügen. Sie fügen Ihrer Lösung nur Pakete hinzu, und das System kümmert sich um das Herunterladen, web.config-Änderungen usw.
Dieser Dienst macht dasselbe für Saas-Webdienste. Als SaaS-Dienstanbieter können wir jetzt ein kleines nugget-ähnliches Paket zum Herunterladen/Installieren von Listenern programmieren. Keine kb Artikel mehr, die erklären, wie oauth1 vs oauth2 vs api-keys funktioniert. Wir erstellen nur einen kleinen Installationsassistenten und los gehts!
Und dennoch, als wir mit nuget anfingen, gab es eine Untergruppe von Codern, die sich fragten: "Was ist der Unterschied zwischen nuget und dem Hinzufügen von Verweisen auf Ihren Code?"
vs SignalR
SignalR ist eine Live "aktive" Verbindung zum Server. Es erstellt einen eigenen Chat-ähnlichen Dienst. Webhooks (das generische Konzept) sind nur ein http (s) -Aufruf an einen Ihrer Endpunkte.Das war meiner Meinung nach der Sinn der Antwort auf deinen anderen Stack Post.
Webhook das Konzept vs MSFT „Webhook“
Msft nimmt, dass https einen Schritt weiter schreiben und sagen, dass Dropbox (oder ANY Webhook Provider) einen Assistenten erstellen können, für andere, dass sie durch die Authentifizierung Schritte zu verwenden, , Abfrageparameter usw. Es ist eine coole Idee, weil Sie die Dropbox-Dokumente nicht lesen müssen, um einen Dropbox-Webhook zu konsumieren.
"Think 'nugget für Web Services" gewinnt die Interwebs an diesem Tag. Danke für deine großartige Antwort, @bri! –
Eine andere Frage dann - Würden .Net Webhooks mit anderen non.Net Webhooks arbeiten? Ich betrachte zum Beispiel die Implementierung von Webhooks zur Unterstützung von Zapier-Integrationen ... aber die Dokumente scheinen darauf hinzuweisen, dass dies für andere Anbieter gilt, die "Empfänger" mit demselben Dienstprogramm implementiert haben. Oder ist das generischer? –
Dropbox ist nicht .net und das ist einer der Hooks, die sofort verfügbar sind. Zapier müsste das Webhook "Paket" erstellen ... Es sei denn Sie programmieren und veröffentlichen es ;-). – bri