65.9K
CodeProject 正在变化。 阅读更多。
Home

Microsoft ASP.NET WebHook 预览入门

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.27/5 (6投票s)

2015 年 9 月 8 日

CPOL

5分钟阅读

viewsIcon

38554

在本文中,我们将讨论 ASP.NET WebHook-Preview。

编辑说明

本文从 Microsoft ASP.NET WebHook 预览开始,需要不时更新。它将包含进一步讨论或澄清的参考链接。这是一篇正在进行中的文章,需要大量即将进行的更新。

背景

2015 年 9 月 4 日,有人宣布了“Microsoft ASP.NET WebHooks Preview”,Henrik F Nielsen 宣布了“Microsoft ASP.NET WebHooks Preview”的发布,它是 ASP.NET 系列的新成员。

有关此公告的更多信息,请参阅

引言

在本文中,我们将讨论 ASP.NET WebHook-Preview

在本文中,我们将讨论 WebHooks,以及如何使用“Microsoft ASP.NET WebHooks Preview”的第一个预览版进行实现。

目的

目前,“Microsoft ASP.NET WebHooks Preview”尚未最终确定发布,仍处于开发者可以尝试使用 WebHooks 的魔力的阶段。在本文中,我们将更多地讨论 ASP.NET 系列的这个新成员,并尝试通过一个简单的程序来理解 WebHooks 的强大功能。

前提条件

要开始使用 WebHooks,没有太多主要要求,我们只需要了解

  • 服务基础知识(Web API 等)
  • Visual Studio 2013 或更高版本
  • ASP.NET 基本知识

什么是 WebHook?

为了理解,首先考虑一个场景,我们需要对现有操作的输出/结果执行某些操作。



我们也可以考虑 C# 中的回调,我们在其中对结果执行一些自定义操作。如果我说 Program-A 通过 ProgramA 的输出来自动触发,那也没错。

简单来说,我们可以说 WebHooks 是程序/方法/函数/代码片段,它们修改了网页、应用程序、资源等的实际行为。

有趣的是,这些程序/触发器可以是,也可以不是实际网站、Web 应用程序的一部分,而 Program-A 属于这些。

Web 这个词让我想起 HTTP。所以,我们可以说 Webhooks 只是 HTTP 回调,而且是用户定义的 HTTP 回调。2007 年,当 **Jeff Lindsay** 从 Hook 这个词引申出 WebHook 这个词时,它得到了宣布。

WebHooks

WebHook 是一种轻量级的 HTTP 模式,它提供了一个简单的发布/订阅模型,用于连接 Web API 和 SaaS 服务。当服务中发生事件时,会以 HTTP POST 请求的形式向注册的订阅者发送通知。POST 请求包含有关事件的信息,这使得接收者可以相应地采取行动。

WebHooks 的实时示例

我们在日常生活中有很多例子,可能我们忽略了它们

  • 将代码签入/推送到存储库。
  • 触发部署构建。
  • 在您喜欢的博客上发布评论。
  • 发布 Trackback。

更多 WebHooks 的实时示例

设想一个工厂,它使用原油作为原材料。该厂每天消耗大量这种油。他们有三个标记来维持工厂的油存储/库存水平。

  • 红色 表示最低库存,表示停止使用。
  • 黄色 表示有库存,表示可以使用。
  • 绿色 表示库存较低,表示订购购买更多。

设想这样一个场景,工厂工人/仓库管理员或现场主管正在为这种油的库存维护大量记录。您可以想象在现实场景中有多么复杂?

这里的问题是什么?

在正常情况下,这种原油的消耗量不大,并且可以通过人工干预/活动轻松维护。不幸的是,在我们的情况下,它并不那么简单,以至于可以“喝茶休息一下”。

在这里,我们需要熟练的工人来维护记录并相应地设置指示器,以便采取相关行动。想想在这种情况下需要多少时间、成本和人力?自动化它是不是个好主意?

那么解决方案是什么?

我们可能会想到许多解决方案。但以下是可能的解决方案

  • 使此过程自动化
  • 编写一个简短的程序/应用程序来维护不同的库存水平
  • 自动化过程,以便相关人员收到行动通知

在上述所有解决方案中,我们需要在特定操作或任务的输出上触发某些操作。这是否与 WebHook 相关?

在我看来,我应该建议做类似这样的事情

  • 编写一个程序/应用程序,用于按时(在需要操作时)维护库存
  • 并通知面板部分发出 红色黄色绿色 指示灯警报

通过这个解决方案,一旦原油数量有任何增减,我们的程序就会通知我们的库存面板(这只是类似于交通信号灯),它会相应地触发。

什么是发布/订阅模型?

这不过是发布-订阅模式/模型——一种消息传递模式。我们也可以将其视为消息队列范例。我们不深入研究发布/订阅模型,请参阅以下链接了解更多详情

应用程序/项目提供 WebHook

WebHook 这个术语在 Web 世界中并不新鲜(上面已经讨论过,它是在 2007 年提出的)。有很多应用程序已经提供并支持 WebHook,以下是其中一些名称

  • Dropbox
  • GitHub
  • Trello
  • Zendesk
  • PayPal
  • SalesForce
  • Wordpress

ASP.NET WebHook 预览概述

Microsoft ASP.NET WebHook Preview 没有太多变化,它保持了我们上面讨论的相同的 发布-订阅 模型/模式。

换句话说,我们可以说 ASP.NET WebHook 在 ASP.NET 应用程序/程序中既发送又接收 Hook。它有两个方面

  • 发送
  • 接收

参考:http://blogs.msdn.microsoft.com/b/webdev/archive/2015/09/04/introducing-microsoft-asp-net-webhooks-preview.aspx

如何开始使用 ASP.NET WebHook 预览

遵循这些简单的步骤

  • 选择您要使用 WebHooks 的包应用程序,例如 Github、Trello、DropBox 等。
  • 从预览 NuGet 安装,例如 GitHub
  • 或者,您可以访问 GitHub

关注点

Microsoft ASP.NET WebHook Preview 为我们提供了一种在不干预我们内部 ASP.NET 应用程序实现的情况下进行通信的便利。

历史

  • 初始版本于 2015 年 9 月 9 日
© . All rights reserved.