我可以在Winform c#应用程序中使用信号器吗?

我可以在Winform c#应用程序中使用信号器吗?,c#,signalr,C#,Signalr,在我的winform c#应用程序中,每隔几秒钟就有一个web服务被轮询一次。它检查消息并从我的服务器获取消息,和/或将消息从我的桌面应用转发到我的服务器 web服务在一个无限循环中被调用,用户只需单击一个按钮就可以停止和启动该循环。当轮询打开时,内存将上升并保持上升(我想我希望使用无限循环)。如果我的服务器有办法通知我的客户端消息可用,那么我假设我可以摆脱无限循环。我在研究不同的体系结构时遇到了Signaler,但它似乎更适合asp.net。是这样吗?或者可以修改它以在我的场景中工作 谢谢si

在我的winform c#应用程序中,每隔几秒钟就有一个web服务被轮询一次。它检查消息并从我的服务器获取消息,和/或将消息从我的桌面应用转发到我的服务器

web服务在一个无限循环中被调用,用户只需单击一个按钮就可以停止和启动该循环。当轮询打开时,内存将上升并保持上升(我想我希望使用无限循环)。如果我的服务器有办法通知我的客户端消息可用,那么我假设我可以摆脱无限循环。我在研究不同的体系结构时遇到了Signaler,但它似乎更适合asp.net。是这样吗?或者可以修改它以在我的场景中工作


谢谢

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

安装软件包

Microsoft.AspNet.SignalR.Client

用两行代码查看关于将asmx/WCF提升为推送服务的回答

将SignalR用作客户端(或服务器)需要win8+才能获取WebSocket。这应该是你在使用它之前非常清楚的事情。我用艰苦的方式学会了;)请参见此处的支持

可能重复的@alex filipovici不,这不是重复的-问题只是关于类似的主题,这是一个有用的评论。你知道吗?这就是我现在正在做的事情。我可以问一下您决定做什么吗?您可以在windows上运行SignalR客户端,但除非您有win8,否则您将获得WebSocket以外的其他传输(SSE,长轮询)。这在我们的项目中是不合适的,我们还需要从其他系统(例如RaspberryPI)进行通信。长话短说,我们抛弃了signer,改用xsockets.net。这让我们确信xsockets.net/xsockets-vs-signali希望我刚才看到这篇文章。我现在已经了解了为什么我们的Win7客户端不会将WebSocket与Win2012 HSR服务对话。我们已经在jabbr上聊过了——我仍在决定是否尝试为xsockets编写自定义客户端传输或“bin”信号器。net@penderi当WebSocket不受支持时,SignalR有一个很好的回退机制。在我们的情况下,我们不能使用SSE等。我们需要全双工通信,而WebSocket是我们唯一的选择。因为我们还需要从微控制器连接,所以选择对我们来说很容易。您必须进行概念验证,以确定SR或XS是否适合您。@penderi这在添加自定义功能时对我们帮助很大