首页 / 微软技术 / ASP.NET / 微软发布了ASP.NET WebHooks预览版

微软发布了ASP.NET WebHooks预览版

微软近期发布了ASP.NET WebHooks的预览版,这是一个可用于创建及使用Webhook功能的库。WebHooks支持MVC 5及WebApi 2。

Webhook是一种通过HTTP实现用户自定义回调函数的模式。客户可以选择订阅某些类型的事件,并在这些事件实际发生时以POST请求的方式接 收这些事件。Webhook的一大要点在于它是使用HTTP实现的,这也意味着利用或实现这项技术无需任何新的基础设施的支持。

WebHookReceivers_3132734c-c730-475e-a3c9-1239b97b542d

ASP.NET WebHooks为Webhook的发送与接收操作提供了基础构建块。在接收端,它提供了一种通用的模型,用于接收并处理来自于Webhook提供者的事件。而在发送端,它则提供了对管理订阅与发送事件功能的支持。

InfoQ与来自微软ASP.NET团队的Henrik F Nielsen和Brady Gaster进行了一次访谈,以了解该项目更多的细节信息。

InfoQ:成立ASP.NET WebHooks这一项目的动机是什么?

ASP.NET WebHooks成立的动机有两方面

  1. WebHooks为HTTP服务的整合提供了一种协议模式,从而能够通过HTTP请求的形式建立一种非常简单的事件通知模型。通过对某个 Webhook的订阅,你就能够关注其他服务上的更新,并在更新时获得通知。这样一来,就有大量的整合场景成为可能。你将能够与其他的服务进行交互、在变 更时获得通知、并进行相应的操作。这种整合可以包括任何形式,例如在Dropbox中上传了某个新文件、在Trello中新建了一个Issue、或是通过 PayPal进行了一次支付操作。随着WebHooks的应用不断增多,这种应用场景也将产生指数级的增长。
  2. 虽说这一模式本身并不复杂,但还是有一些基本的规则需要处理。包括安全模型、数据格式、以及基于这一基本模式的各种变体。麻烦的地方在 于,目前大多数的Webhook提供者在处理这些基本规则时都存在着细微的差别。这种差别就像雪花一样,虽然每片雪花看起来都很相似,但多多少少存在着一 些特别之处。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。我们目前正在为某些想法设计原型,争取为Visual
Studio带来这一特性。

ASP.NET WebHooks是一个开源项目,托管在GitHub平台上。



About worksguo

我顶的是太阳,蓝天都在我脚下。我是软件开发者,信息化专家,电子商务专家,金融学者,创业人。长期关注微软技术!

Check Also

.NET开源

.NET开源一年及开源一年后ASP.NET贡献情况分析

这里会以 3 个 .NET 生态系统中最主要的三个部分来说明,这些项目也是 .NET 基金会最活跃/最多 star 和最多 Fork 的项目: Roslyn - .NET 编译平台 ("Roslyn") 提供开源 C# 和 Visual Basic 的编译器,支持富代码分析 APIs。 CoreCLR - .NET Core 运行时,名为 CoreCLR,包括一个基础库 mscorlib。CoreCLR 包括垃圾收集器,JIT 编译器,基础 .NET 数据类型和大量低级别类。CoreFX - .NET Core 函数库,包括集合,文件系统,工作台,XML,异步等等。

ASP.NET Core 1.0

ASP.NET 5已终结,迎来ASP.NET Core 1.0和.NET Core 1.0

ASP.NET 4.6 是个更成熟的平台,经过了很好的测试。 ASP.NET Core 1.0 是 1.0 版本,包括 Web API 和 MVC,但是不包括 SignalR 或者 Web Pages。ASP.NET Core 1.0 不支持 VB 或者 F#。ASP.NET Core 1.0 并不是结束,仅仅是个全新的开始, ASP.NET 4.6 还会继续更新,继续提供完整的支持。

发表评论


x

更多推荐

ASP.NET 社区成长壮大

微软近期发布了ASP.NET WebHooks的预览版,这是一个可用于创建及使用Webhook功能的库。WebHooks支持MVC 5及WebApi 2。

微软BUG Bounty悬赏项目扩展至.NET Core和ASP.NET Core

微软近期发布了ASP.NET WebHooks的预览版,这是一个可用于创建及使用Webhook功能的库。WebHooks支持MVC 5及WebApi 2。

ASP.NET Core提供模块化Middleware组件

微软近期发布了ASP.NET WebHooks的预览版,这是一个可用于创建及使用Webhook功能的库。WebHooks支持MVC 5及WebApi 2。

powered by RelatedPosts