微软 近期发布了ASP.NET WebHooks的预览版 ,这是一个可用于创建及使用Webhook功能的库。WebHooks支持MVC 5及WebApi 2。
Webhook是一种通过HTTP实现用户自定义回调函数的模式。客户可以选择订阅某些类型的事件,并在这些事件实际发生时以POST请求的方式接收这些事件。Webhook的一大要点在于它是使用HTTP实现的,这也意味着利用或实现这项技术无需任何新的基础设施的支持。
ASP.NET WebHooks为Webhook的发送与接收操作提供了基础构建块。在接收端,它提供了一种通用的模型,用于接收并处理来自于Webhook提供者的事件。而在发送端,它则提供了对管理订阅与发送事件功能的支持。
InfoQ与来自微软ASP.NET团队的Henrik F Nielsen和Brady Gaster进行了一次访谈,以了解该项目更多的细节信息。
InfoQ:成立ASP.NET WebHooks这一项目的动机是什么?
ASP.NET WebHooks成立的动机有两方面
InfoQ:Webhook除了HTTP之外并没有其他任何确立的协议,那么在发送方是否会存在某些方面的限制因素?(作为接收者来说)ASP.NET WebHooks是否能够自动兼容那些目前已经提供Webhook的服务呢?
HN:我们已经在项目中提供了针对各种服务的Webhook,例如Azure
Alerts、BitBucket、Dropbox、GitHub、Kudu、Instagram、
MailChimp、PayPal、Pusher、Salesforce、Slack、Stripe、Trello,以及WordPress,不过要添加对其他提供者的支持也是很简单的,并且所支持服务的名单还在不断地增长中。事实上,对于Kudu和BitBucket的支持是来自于社区所提交的pull请求,我们也正在添加对更多的提供者的支持。
InfoQ:到WebHooks正式发布为止,它的路线图是怎样的?
HN:关于正式发布的计划,我们现在还没有什么正式的说法,不过我们很乐于倾听来自社区的反馈,并接受他们的贡献,包括pull请求和各种建议
BG:我们从社区中获得了一些反馈,他们希望能够对WebHook接收消息的功能进行调试,就像在本地进行调式一样。他们也欣赏远程调试的想法,但更愿意能够通过点击“F5”来启动他们的项目并发送Webhook。我们目前正在为某些想法设计原型,争取为VisualStudio带来这一特性。
ASP.NET WebHooks是一个开源项目,托管在 GitHub 平台上。
查看英文原文: Microsoft Releases ASP.NET WebHooks Preview