4

我在我的 winform c# 应用程序中每隔几秒就会轮询一次 Web 服务。它检查消息并从我的服务器获取它们和/或将消息从我的桌面应用程序中继到我的服务器。

Web 服务在无限循环中被调用,用户可以在单击按钮时停止和启动。当轮询进行时,内存会上升并保持不变(我想我期望使用无限循环)。如果我的服务器有办法通知我的客户一条消息可用,那么我认为我可以摆脱我的无限循环。我正在研究不同的架构,我遇到了 SignalR,但它似乎更适合 asp.net。是这样吗?或者可以修改它以在我的场景中工作吗?

谢谢

4

3 回答 3

9

使用 SignalR 作为客户端(或服务器)需要 win8+ 才能获取 websockets。这应该是你在使用它之前非常清楚的事情。我学到了艰难的方法;)在这里查看支持http://www.asp.net/signalr/overview/signalr-1x/getting-started/supported-platforms

于 2013-10-31T18:12:11.747 回答
4

请参阅this answer about boosting asmx/WCF to become a push service in 2 line of code。将数据从 WCF 服务推送到网站

于 2013-10-31T18:02:41.040 回答
1

SignalR 有一个 .NET 客户端,您也可以使用 Owin 自行托管 SignalR

安装包

Microsoft.AspNet.SignalR.Client
于 2013-10-31T13:07:22.230 回答