(此文章同時發表在本人微信公眾號“dotNET每日精華文章”,歡迎右邊二維碼來關注。)
題記:前幾天微軟除了發布了ASP.NET 5的Beta7之外,還有一個值得關注的東西,就是ASP.NET WebHooks預覽版d的發布。
WebHooks是一種HTTP世界的輕量級交互模式,通過簡單的發布/訂閱模式來把SaaS系統和WEB API集成起來。簡單而言,就是SaaS系統如果有需要推送的信息,就用HTTP POST的方式發送信息給訂閱者(這里的訂閱者一般是一些基於REST標准的WEB API)。
如果把WebHooks看作一種業界標准的話,那么ASP.NET WebHooks就是它的一種實現;這點類似於ASP.NET Signal之於WebSocket。ASP.NET WebHooks包含發送和接受兩部分的功能(底層技術是Web API 2和MVC 5,目前尚未支持ASP.NET 5):
- 在接收端,提供了一種接收和處理來自於任何WebHook提供器的WebHook的通用模型。並且內置了Dropbox, GitHub, MailChimp, PayPal, Pusher, Slack, Stripe, Trello, 和WordPress的提供器實現。也就是說,如果你想開發一個程序來監控Dropbox文件變更或者GitHub的提交,是輕而易舉的事情。
- 在發送端,提供了管理和存儲訂閱者信息的功能,以及把事件提醒發送給適當訂閱者的功能。從而簡化了WebHook發送端的開發。
詳細的開發說明我就不再贅述,可以查看“原文”或者查看源代碼(https://github.com/aspnet/WebHooks)。我倒是想說說ASP.NET WebHooks發布背后的意義(純個人觀點):2015稱之為SaaS元年,現在各種SaaS提供商的估值不斷走高,而未來把各類SaaS更好的集成起來肯定會成為一個熱點。而WebHooks作為SaaS集成的一種基礎技術肯定會受到主流開發平台的重視,所以ASP.NET WebHooks應運而生。