我有一个ASP.NET Web API服务器,必须与不同平台上的不同应用程序通信.现在我想创建一个类似回调的方法:客户端应用程序订阅它并等待服务器触发消息.
示例: 许多用户都在等待新产品在商店中可用 - 他们订阅此"事件".当产品到达商店时 - 每个客户都会收到一条消息,在某些情况下必须处理.
我试图在ASP.NET Web API中找到关于回调或双工的一些信息,但是一个建议 - 最好使用WCF来实现这种方法.
如果您有一些想法我可以如何解决这个问题,请给我一个建议.
感谢帮助.
Fil*_*p W 11
看起来您需要来自服务器的推送通知 - 在这种情况下,可以通过将SignalR与Web API相结合来实现.
布拉德威尔逊有一个很好的例子:
NDC奥斯陆谈话解释所有这些 - http://vimeo.com/43603472
简而言之,每当您向Web API添加新项时,您都可以通知所有已连接(订阅)的客户端:
public void PostNewItem(ToDoItem item)
{
lock (db)
{
// Add item to the database
db.Add(item);
// Notify the connected clients
Hub.Clients.processItem(item);
}
}
Run Code Online (Sandbox Code Playgroud)
SignalR将调用processItem客户端上的函数.
或者,您可能希望查看JavaScript SSE和Web API,PushStreamContent但这是更低级别的,SignalR会为您提取大量此类内容,因此处理起来可能会更复杂.
我在这里写了关于这种方法的博客http://www.strathweb.com/2012/05/native-html5-push-notifications-with-asp-net-web-api-and-knockout-js/
| 归档时间: |
|
| 查看次数: |
9965 次 |
| 最近记录: |