写点什么

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

  • 2015-11-15
  • 本文字数:1364 字

    阅读完需:约 4 分钟

微软近期发布了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 成立的动机有两方面

  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 平台上。

查看英文原文 Microsoft Releases ASP.NET WebHooks Preview

2015-11-15 18:002977
用户头像

发布了 428 篇内容, 共 191.0 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

提高代码质量!详解在Gradle项目中使用PMD的正确姿势

树上有只程序猿

Gradle

软件测试/测试开发丨Python 装饰器 学习笔记

测试人

Python 程序员 软件测试 装饰器 测试开发

Cloud Kernel SIG 月度动态:支持龙芯和申威架构,合入两个内存新特性

OpenAnolis小助手

开源 架构 内存 内核 龙蜥sig

一键登录教你如何解决APP通讯诈骗问题

MobTech袤博科技

App

当流计算邂逅数据湖:Paimon 的前生今世

Apache Flink

大数据 flink 实时计算

QQ开展外挂专项整治,守护用户社交环境安全

极客天地

2 种方式查找极狐GitLab 容器镜像 Tag,几分钟快速构建私有化部署实例

极狐GitLab

DevOps gitlab Helm 容器镜像 Omnibus package

门槛一降再降,易用性大幅提升!Milvus 2.2.12 持续升级中

Zilliz

Milvus Zilliz 向量数据库

金山云与平凯星辰达成全面战略合作 技术创新模式助力企业数字化转型

PingCAP

金山云 数字化 TiDB pingCAP 平凯星辰

香港VPS大揭秘:轻松打造超高流量网站

一只扑棱蛾子

VPS 香港VPS

git撤销某一次commit提交

树上有只程序猿

git

【福利活动】深度体验OpenHarmony对接华为云IoT

OpenHarmony开发者

OpenHarmony

MySQL 的解析器以及 MySQL8.0 做出的改进 | StoneDB技术分享 #2

StoneDB

MySQL 数据库 HTAP StoneDB

@开源技术爱好者,龙蜥邀您一起玩转系统运维 MeetUp

OpenAnolis小助手

Linux 系统运维 ebpf Meetup 龙蜥社区

灵动AI推出业内首个工业级“AI商品图”生成工具 并获小米联合创始人黎万强天使投资

TE智库

我的 Obsidian 笔记跨设备同步方案

专注前端开发

工具 笔记 Obsidian

四步法建立企业内部人才市场

用友BIP

人力资源

【从零开始学爬虫】采集全国各行业经销商网点数据

前嗅大数据

大数据 爬虫 数据采集 爬虫教程 爬虫入门

程序员必读十大电子书

六月的雨在InfoQ

电子书 Java工程师成神之路

你了解Vue3组合式API吗?

OpenTiny社区

Vue 前端框架 开源组件库

给世界一个更好的选择,“龙蜥+超级探访”首期嘉宾预告片震撼来袭!

OpenAnolis小助手

开源 操作系统 龙蜥社区 统信软件 超级探访

如果你在选型低代码平台,可以从这5个角度去分析抉择

互联网工科生

源码 低代码 系统集成 私有化部署

鸿煦科技刘敏:小程序云开发降本增效实践之路

TRaaS

小程序 支付宝 开发

九州八荒录H5游戏详细图文架设教程

echeverra

游戏开发

Java基础!Java反射机制!!

java易二三

Java 编程 互联网 计算机

腾讯云 Cloud Studio 实战训练营活动招募中

CODING DevOps

活动 cloudstudio 云端 IDE

一文帮你全面认识方天视窗引擎

openEuler

Linux 开源 操作系统 openEuler 视窗引擎

设计原则 — KISS & YAGNI

Lemoon Can

设计原则 KISS YAGNI

微软发布了ASP.NET WebHooks预览版_.NET_Pierre-Luc Maheu_InfoQ精选文章