ASP.NET WebHooks RC 1发布

正如消息队列能够让同一个组织内的多个应用相互通信一样, 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

远程管理 KVM 虚机 - 每天5分钟玩转 OpenStack(5)

上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机。其实 virt-manager 也可以管理其他宿主机上的虚机。只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即可。 接下来,我们就可以像管理本地虚机一样去管理远程宿主机上的虚机了。 …

WM的Image格式分析

定制 WM 时 ,生成的image的扩展名很多,dio ,nb0 ,bin等等,他们都是什么关系。看一个例子。 Memory.cfg.xml的内容如下 我们可以看见image由4个分区组成,分别为ULDR,NK,OS,Storage(最多只能有4个分区)。这4…

随机取不重复的数字

for( int i 0; i < 25; i) a[i] i;srand( time(NULL) ); for( i 0; i < 25; i) swap( a[0], a[rand()%25] );

DSP笔记

DSP笔记 duty:占空比&#xff1b;DFT:可测性设计头文件的主要作用是&#xff1a;包含一些宏定义和函数。头文件作为一种包含功能函数、数据接口声明的载体文件&#xff0c;主要用于保存程序的声明&#xff0c;而定义文件用于保存程序的实现。入门&#xff0c;GPIO输入输出&…

KVM 存储虚拟化 - 每天5分钟玩转 OpenStack(7)

KVM 的存储虚拟化是通过存储池&#xff08;Storage Pool&#xff09;和卷&#xff08;Volume&#xff09;来管理的。 Storage Pool 是宿主机上可以看到的一片存储空间&#xff0c;可以是多种类型&#xff0c;后面会详细讨论。Volume 是在 Storage Pool 中划分出的一块空间&…

LVM 类型的 Storage Pool - 每天5分钟玩转 OpenStack(8)

LVM 类型的 Storage Pool 不仅一个文件可以分配给客户机作为虚拟磁盘&#xff0c;宿主机上 VG 中的 LV 也可以作为虚拟磁盘分配给虚拟机使用。 不过&#xff0c;LV 由于没有磁盘的 MBR 引导记录&#xff0c;不能作为虚拟机的启动盘&#xff0c;只能作为数据盘使用。 这种配置下…

UltraEdit中高亮显示verilog HDL关键词

UltraEdit是一款功能强大的文本编辑器&#xff0c;可以编辑文字、Hex、ASCII码&#xff0c;可以取代记事本&#xff0c;内建英文单字检查、C 及 VB 指令突显&#xff0c;可同时编辑多个文件&#xff0c;而且即使开启很大的文件速度也不会慢。是一个使用广泛的编辑器&#xff0c…

你是否做好了代码的备份?

http://blog.csdn.net/norains/archive/2010/03/16/5385773.aspx

CCS的基本操作

CCS的基本操作 1、 创建新工程 方法一&#xff1a; 方法二&#xff1a; 进入工程界面后&#xff0c;第一步选择芯片型号&#xff0c;第二步选择仿真器&#xff0c;第三步编写工程名称&#xff0c;选择工程模板。最后点击finish 2、 编译 方法一&#xff1a; 方法二&…

KVM 网络虚拟化基础 - 每天5分钟玩转 OpenStack(9)

网络虚拟化是虚拟化技术中最复杂的部分&#xff0c;学习难度最大。 但因为网络是虚拟化中非常重要的资源&#xff0c;所以再硬的骨头也必须要把它啃下来。 为了让大家对虚拟化网络的复杂程度有一个直观的认识&#xff0c;请看下图 这是 OpenStack 官网上给出的计算节点&#…

命名的结束语句

命名的结束语句 1、命名的模块结尾 SystemVerilog允许关键字endmoule后指定模块的名字 endmoule:<module_name> endmodule后指定的名称必须与匹配的模块名称一致2、命名的代码块结尾 SystemVerilog还允许对其他命名的代码块指定结尾名称。这包括以下关键字&#xff1a;…

Hive注册表那点事(5.0 VS 6.0)

Hive 注册表那点事&#xff08; 5.0 VS 6.0 &#xff09; 现象 5.0 移置到 6.0 上的时候&#xff0c;发现 Hive-Registry 无效&#xff0c;具体的现象是在控制面板中屏幕校准后 Cold Boot 机器校准数据丢失。 环境变量 PRJ_ENABLE_REGFLUSH_THREAD 和 PRJ_ENABLE_FSREGHIVE …

云计算与 OpenStack - 每天5分钟玩转 OpenStack(14)

“云计算” 算是近年来最热的词了。现在 IT 行业见面不说这三个字您都不好意思跟人家打招呼。 对于云计算&#xff0c;学术界有各种定义&#xff0c;大家有兴趣可以百度一下。 CloudMan 这里主要想从技术的角度谈谈对云计算的理解。 基本概念 所有的新事物都不是突然冒出来的&a…

OpenStack 架构 - 每天5分钟玩转 OpenStack(15)

终于正式进入 OpenStack 部分了。 今天开始&#xff0c;CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱。 OpenStack 已经走过了 6 个年头。 每半年会发布一个版本&#xff0c;版本以字母顺序命名。现在已经到第 12 个版本 Liberty&#xff08;字母 L&#xff09;。 Op…

pcb中layer stack manager 中,右上角的layer pairs 、internal layer pairs和build-up,三者的区别?

不同的层叠模式&#xff1a; Layer Pairs&#xff08;层成对&#xff09;、Internal Layer Pairs&#xff08;内电层成对&#xff09;和Build-up&#xff08;叠压&#xff09;。 多层板实际上是由多个双层板或单层板压制而成的&#xff0c;选择不同的模式&#xff0c;则表示在实…

智能手机的开放与封闭刍议

作为一个从05年就浸淫其中的玩智能手机玩家&#xff0c;我已经先后拥有了两台WMXscale的HTC手机&#xff0c;一部iPhone&#xff0c;最近刚刚又搞了部 Google/HTC N1&#xff0c;准备继续做新技术的小白鼠&#xff0c;同时也体验一下新技术是如何惠及人类生活的。N1入手不久&am…

FPGA笔记

type [upper:lower] vector_name;例如wire [0:7] b; // 8-bit wire where b[0] is the most-significant bit.ATM是Asynchronous Transfer Mode&#xff08;ATM&#xff09;异步传输模式突发传输&#xff08;Burst transmission&#xff09;&#xff0c;一般也称为数据突发&…

部署 DevStack - 每天5分钟玩转 OpenStack(17)

本节按照以下步骤部署 DevStack 实验环境&#xff0c;包括控制节点和计算节点 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作系统 安装 Ubuntu 14.04&#xff0c;并配置 eth0 的 IP devstack-controller 192.168.104.10 devstak-c…

理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18)

作为 OpenStack 的基础支持服务&#xff0c;Keystone 做下面这几件事情&#xff1a; 管理用户及其权限维护 OpenStack Services 的 EndpointAuthentication&#xff08;认证&#xff09;和 Authorization&#xff08;鉴权&#xff09;学习 Keystone&#xff0c;得理解下面这些概…

C++11 Lambda函数(匿名函数)

C11引入了lambda表达式&#xff0c;使得程序员可以定义匿名函数&#xff0c;该函数是一次性执行的&#xff0c;既方便了编程&#xff0c;又能防止别人的访问。 Lambda表达式的语法通过下图来介绍&#xff1a; Lambda表达式的引入标志&#xff0c;在‘[]’里面可以填入‘’或‘&…