我们目前正在考虑重构我们的后端服务层并开始使用ASP.NET WEB Api而不是WCF,这主要是因为WebAPI是简单Rest通信的更好解决方案。但是,当后端发生需要传达的事情时,我们还需要能够更新客户端浏览器窗口。因此需要WebSockets或类似的东西。
我的问题:我的MVC 5 Web Api控制器是否需要更改?在google上搜索时,我似乎可以简单地将WebSockets控制器与Web API控制器一起添加,以使双向通信工作,这是真的吗?
答案 0 :(得分:2)
如果“纯”WebSockets不是必需的,我可以推荐将SignalR与WebAPI 2一起使用(它们确实真正构成了一个巨大的Web堆栈!)。这个演员阵容有几个很好的教程:http://channel9.msdn.com/Events/TechDays/Belgium-2013/25
要理解的一个关键点是控制器/集线器等的不同生命周期......
编辑: 您可能想要了解的一个方面是如何从您的Controller调用SignalR Hub方法:并且很容易与来自控制器的集线器进行交互,以下是对此的一些解读:http://www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-server#callfromoutsidehub