Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
ASP.NET Web Kancaları kullanım dışıdır ve artık güncelleştirmeleri veya güvenlik düzeltmelerini almaz.
Web Kancaları, Web API'lerini ve SaaS hizmetlerini birbirine bağlamak için basit bir pub/alt model sağlayan basit bir HTTP desenidir. Bir hizmette bir olay gerçekleştiğinde, kayıtlı abonelere HTTP POST isteği biçiminde bir bildirim gönderilir. POST isteği, alıcının uygun şekilde davranmasını mümkün kılan olay hakkında bilgi içerir.
Basitliklerinden dolayı Web Kancaları zaten Dropbox, GitHub gibi çok sayıda hizmet tarafından kullanıma sunulur. Bitbucket, MailChimp, PayPal, Slack, Stripe, Trello ve daha fazlası. Örneğin, bir Web Kancası, Dropbox'ta bir dosyanın değiştiğini, GitHub'da bir kod değişikliğinin taahhüt edildiğini, PayPal'de bir ödemenin başlatıldığını veya Trello'da bir kartın oluşturulduğunu gösterebilir. Olasılıklar sonsuz!
Microsoft ASP.NET Web Kancaları, web kancalarını ASP.NET uygulamanızın bir parçası olarak göndermeyi ve almayı kolaylaştırır:
Alıcı tarafında, çeşitli WebHook sağlayıcılarından gelen WebHook'ları almak ve işlemek için ortak bir model sunar. Dropbox, GitHub, Bitbucket desteğiyle kutudan çıkar. MailChimp, PayPal, Pusher, Salesforce, Slack, Stripe, Trello,WordPress ve Zendesk daha fazlası için destek eklemek kolaydır.
Gönderen tarafta abonelikleri yönetme ve depolamanın yanı sıra doğru abone kümesine olay bildirimleri gönderme desteği sağlar. Bu, abonelerin abone olabileceği kendi olay kümenizi tanımlamanıza ve olaylar gerçekleştiğinde onlara bildirmenize olanak tanır.
senaryonuza bağlı olarak iki parça birlikte veya ayrı ayrı kullanılabilir. Yalnızca diğer hizmetlerden Web Kancaları almanız gerekiyorsa yalnızca alıcı bölümünü kullanabilirsiniz; Web Kancalarını yalnızca başkalarının kullanması için kullanıma açmak istiyorsanız, bunu yapabilirsiniz.
Kod ASP.NET Web API 2 ve ASP.NET MVC 5'i hedefler ve GitHub üzerinde
WebHooks'a Genel Bakış
Web Kancaları, hizmetten hizmete nasıl kullanıldığının değiştiği ancak temel fikrin aynı olduğu anlamına gelen bir desendir. WebHooks'u, kullanıcının başka bir yerde gerçekleşen olaylara abone olabileceği basit bir pub/sub modeli olarak düşünebilirsiniz. Olay bildirimleri, olayın kendisi hakkında bilgi içeren HTTP POST istekleri olarak yayılır.
GENELLIKLE HTTP POST isteği, Web Kancası'nın tetiklemesine neden olan olay hakkındaki bilgiler de dahil olmak üzere Web Kancası göndereni tarafından belirlenen bir JSON nesnesi veya HTML form verileri içerir. Örneğin, GitHub WebHook POST istek gövdesi, belirli bir depoda bir sorun açılmasının sonucu olarak şöyle görünür:
{
"action": "opened",
"issue": {
"url": "https://api.github.com/repos/octocat/Hello-World/issues/1347",
"number": 1347,
...
},
"repository": {
"id": 1296269,
"full_name": "octocat/Hello-World",
"owner": {
"login": "octocat",
"id": 1
...
},
...
},
"sender": {
"login": "octocat",
"id": 1,
...
}
}
Web Kancası'nın hedeflenen gönderenden geldiğinden emin olmak için POST isteğinin güvenliği bir şekilde sağlanır ve alıcı tarafından doğrulanır. Örneğin, GitHub WebHooks, bir HTTP üst bilgisi olan X-Hub-Signature'ı içerir ve istek gövdesinin karması alıcı uygulama tarafından kontrol edilir, bu yüzden sizin endişelenmenize gerek yoktur.
Webhook akışı genellikle şöyle olur:
WebHook göndericisi, bir istemcinin abone olabileceği olayları sunmaktadır. Olaylar, sistemde gözlemlenebilir değişiklikleri belirtir; örneğin, yeni bir veri öğesi eklenmiş, bir işlem tamamlanmış ya da başka bir durum gerçekleşmiş olabilir.
WebHook dinleyicisi, dört şeyden oluşan bir WebHook kaydederek abone olur.
Olay bildiriminin HTTP POST isteği biçiminde gönderileceği URI;
Webhook'un tetiklenmesi gereken belirli olayları açıklayan bir filtre kümesi;
HTTP POST isteğini imzalamak için kullanılan gizli anahtar;
HTTP POST isteğine eklenecek ek veriler. Bu, örneğin, HTTP POST istek gövdesine eklenen ek HTTP üst bilgi alanları veya özellikleri olabilir.
Bir olay gerçekleştiğinde eşleşen Web Kancası kayıtları bulunur ve HTTP POST istekleri gönderilir. Genellikle, alıcı bir nedenle yanıt vermiyorsa veya HTTP POST isteği bir hata yanıtıyla sonuçlanıyorsa HTTP POST isteklerinin oluşturulması birkaç kez yeniden denenmektedir.
Webhook İşlem Hattı
Gelen Web Kancaları için Microsoft ASP.NET Web Kancaları işlem hattı şöyle görünür:
Buradaki iki temel kavram : Alıcılar ve İşleyiciler:
Alıcılar , belirli bir gönderenden Gelen Web Kancası'nın belirli bir türünü işlemekten ve Web Kancası isteğinin hedeflenen gönderenden olduğundan emin olmak için güvenlik denetimlerini zorunlu tutmaktan sorumludur.
İşleyiciler, genellikle kullanıcı kodunun belirli bir Web Kancasını işlerken çalıştığı yerlerdir.
Aşağıdaki düğümlerde bu kavramlar daha ayrıntılı olarak açıklanmıştır.