正如消息队列能够让同一个组织内的多个应用相互通信一样, WebHooks也为来自不同组织的网站提供了一种以异步的形式进行通信的方法。

\u0026#xD;\n\u0026#xD;\n

从本质上说,WebHook就是一种回调机制。用户可以在WebHook提供者中注册一个自定义的URL,提供者将在适当的时机通过这个URL将相关的事件以消息的方式发送给应用。比方说,用户可以对Dropbox进行配置,当某个公司的Dropbox帐户中添加了一个新文件时,同时向该公司的审计与备份基础设施发出一条通知。

\u0026#xD;\n\u0026#xD;\n

虽然从理论上说,这些功能完全有可能实现,但在现实世界中往往需要考虑到各种其他因素。如果忽视了这些因素,则恶意用户可利用这种基础设施发起拒绝攻击服务,正如pingback曾经出现过的漏洞一样。

\u0026#xD;\n\u0026#xD;\n

为了防止发生这方面的安全问题,WebHooks设计了一个验证步骤。Dropbox的文档中是这样写的:

\u0026#xD;\n\u0026#xD;\n

\u0026#xD;\n

当你输入WebHooks URI时,就会自动向该URI发送一个初始的“验证请求”。验证过程使用了一个HTTP GET请求,其中带有一个名为challenge的查询参数。而你的应用在对该请求的响应中也需要包含这个challenge参数。这个验证过程请求的目的是确保你的应用确实希望通过该URI获取通知信息。即使你无意中输入了错误的URI(或者有人试图恶意地将你的服务器设置为他的WebHook),由于你的应用无法正确地响应challenge请求,因此Dropbox仍然不会向该URI发送任何通知。

\u0026#xD;\n

\u0026#xD;\n\u0026#xD;\n

接收

\u0026#xD;\n\u0026#xD;\n

在RC 1版本中,ASP.NET WebHooks包含支持以下提供商的自定义“接收者”:

\u0026#xD;\n\u0026#xD;\n

  • Azure Alerts与Kudu\u0026#xD;\n\u0026#xD;\n
  • BitBucket\u0026#xD;\n\u0026#xD;\n
  • Microsoft Dynamics CRM\u0026#xD;\n\u0026#xD;\n
  • Dropbox\u0026#xD;\n\u0026#xD;\n
  • GitHub\u0026#xD;\n\u0026#xD;\n
  • Instagram\u0026#xD;\n\u0026#xD;\n
  • MailChimp\u0026#xD;\n\u0026#xD;\n
  • PayPal\u0026#xD;\n\u0026#xD;\n
  • Pusher\u0026#xD;\n\u0026#xD;\n
  • Salesforce\u0026#xD;\n\u0026#xD;\n
  • Slack\u0026#xD;\n\u0026#xD;\n
  • Stripe\u0026#xD;\n\u0026#xD;\n
  • Trello\u0026#xD;\n\u0026#xD;\n
  • WordPress\u0026#xD;\n\u0026#xD;\n
  • IFTTT与Zapier\u0026#xD;\n

同时,新版本还提供了一个通用的框架库,可用于创建用户自定义的接收者。但用户必须将该接收者托管在公有的网站上,否则提供者将无法连接到这些接收者。

\u0026#xD;\n\u0026#xD;\n

提供

\u0026#xD;\n\u0026#xD;\n

ASP.NET还提供了一套框架,允许用户提供自己的WebHooks,让其他应用程序使用。这套框架包括两个部分,一是WebHooks基础设施本身,二是WebHooks注册信息的存储机制。目前可直接使用的存储机制包括SQL Server和Azure Table Storage。

\u0026#xD;\n\u0026#xD;\n

读者可以在.NET Web Development and Tools博客上获取完整的教程与示例。同时可以在GitHub找到项目的源代码,项目本身遵循Apache 2授权协议。目前的发布候选版本需要ASP.NET MVC 5和WebAPI 2的支持。

\u0026#xD;\n\u0026#xD;\n

查看英文原文:ASP.NET WebHooks RC 1

ASP.NET WebHooks RC 1发布相关推荐

  1. ASP.NET MVC 1.0 RC 版发布了【转】

    [原文地址]ASP.NET MVC 1.0 Release Candidate Now Available [原文发表日期] Tuesday, January 27, 2009 12:13 PM 今天 ...

  2. ASP.NET 5 Beta8 已经发布

    Microsoft ASP.NET and Web Tools 2015 (Beta8) http://www.microsoft.com/en-us/download/details.aspx?id ...

  3. .net5 不支持winform_「开源资讯」.NET 5.0 RC 2 发布

    微软上周发布了 .NET 5.0 RC 2,此版本已接近最终发布,也是11月正式版发布前的最后一个 RC 版本.微软还表示这是一个"go live"版本,支持用于生产环境,当然这不 ...

  4. Linux Kernel 5.0 RC 7 发布

    百度智能云 云生态狂欢季 热门云产品1折起>>>   Linux 5.0 RC 7 发布了,此版本没什么特别之处,更新内容主要包括: 关于驱动程序的,包括网络.声音.block.gp ...

  5. [转]ASP.NET Core 指定环境发布(hosting environment)

    本文转自:https://www.cnblogs.com/xishuai/p/asp-net-core-set-hosting-environment-with-publish.html ASP.NE ...

  6. React 18 RC 版本发布啦,生产环境用起来!

    大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

  7. ASP.NET Core 指定环境发布(hosting environment)

    ASP.NET Core 应用程序发布命令: dotnet publish [<PROJECT>] [-f|--framework] [-r|--runtime] [-o|--output ...

  8. 任正非卸任上海华为董事;百度“云手机”今日线上发布;Inkscape 1.0 RC 版发布 | 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦 ...

  9. 【ASP.NET 问题】IIS发布网站后出现 “处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误“的解决办法

    [ASP.NET 问题]IIS发布网站后出现 "处理程序"PageHandlerFactory-Integrated"在其模块列表中有一个错误"的解决办法 参考 ...

最新文章

  1. 大型网站的灵魂——性能优化
  2. 循环队列的顺序存储和实现(C语言)【循环队列】
  3. python爬虫京东中文乱码_python3爬虫中文乱码之请求头‘Accept-Encoding’:br 的问题...
  4. .net core 生成二维码
  5. sdk和api有什么区别
  6. JAVA并发编程实践笔记
  7. 主题:spring集成quartz,出现2次重复调用的问题
  8. 外部表改为内部表_2、从外部导入数据创建表(ACCESS图解操作系列)
  9. Obsidan之数学公式的输入
  10. 《老路用得上的商学课26—30》经济模式
  11. 一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)
  12. 做PPT设计半年赚8万,我是怎样做到的?
  13. redhat 下 oracle 10G RAC 集群 详细安装
  14. 计算机配件名称++太平洋,笔记本电脑配件大全
  15. dreamweaver个人网页设计作业 小米商城官网商城购物网页设计 WEB静态网页作业模板 大学生个人购物商城网页代码 dw个人网页作业
  16. 简述SpringMVC及其工作流程图
  17. Java Swing开发EDT机制
  18. 【Microsoft Azure 的1024种玩法】六十.通过Azure Virtual Machines快速搭建个人Ghost博客系统
  19. 3D数学 方向、方位和角位移
  20. Java8的Stream中的Collectors操作求double类型和的坑

热门文章

  1. Yii2系列教程三:Database And Gii
  2. 总算解决了路由器上iptables的nat问题
  3. SSIS 学习(2):数据流任务(上)
  4. 打造个性化的Blog
  5. 在 centos 上搭建 gitlab 项目管理软件
  6. honeywell新风系统控制面板说明_新风系统——不开窗也能清新呼吸
  7. array(2019CCPC网络预选赛 hdu6703主席树+set)主席树求大于等于k的最小值
  8. mysql 日志记录 archive_完美起航-Mysql日志管理、备份与恢复
  9. html语言head里面的link示例,Html之head部分详解(示例代码)
  10. 十字链表计算矩阵乘积 c语言,求用十字链表实现矩阵相加算法(C语言)急!!!...