2013-10-31 153 views
3

我有一個Web服務在我的winform c#應用程序中每隔幾秒輪詢一次。它檢查消息並從我的服務器獲取消息,並/或將來自桌面應用程序的消息中繼到我的服務器。我可以在我的Winform c#應用程序中使用SignalR嗎?

Web服務正在無限循環中調用,用戶可以通過單擊按鈕停止並啓動該服務。當輪詢開始時,內存上升並保持不變(我想我預計使用無限循環)。如果我的服務器有辦法通知我的客戶有一條消息可用,那麼我認爲我可以擺脫我的無限循環。我正在尋找不同的體系結構,並且我遇到了SignalR,但它似乎更適合於asp.net。是這樣嗎?或者它可以修改爲在我的場景中工作?

感謝

+0

可能重複[雙向通信使用WCF](http://stackoverflow.com/questions/15958389/two-way-communication-using-wcf) –

+1

@ alex-filipovici不,它不是重複的 - 問題只是關於類似的主題 –

回答

8

使用SignalR作爲客戶端(或服務器)需要win8 +才能獲得websocket。這應該是你在使用它之前很清楚的東西。我學到了很難的方法;)看到支持在這裏http://www.asp.net/signalr/overview/signalr-1x/getting-started/supported-platforms

+0

嗨,這是一個有用的評論。那麼它會回退到長時間輪詢,那麼你知道嗎 - 這正是我現在所做的。我可以問你想做什麼? –

+0

您可以在Windows上運行SignalR客戶端,但除非您有win8,否則您將獲得比websockets(SSE,長輪詢)更多的其他傳輸。這在我們的項目中並不好,我們還需要從其他系統(例如RaspberryPI)進行通信。爲了長話短說,我們將SignalR引出並使用了xsockets.net。這是我們的信服xsockets.net/xsockets-vs-signalr –

+0

我希望我前一段時間看到這篇文章。我現在發現了爲什麼我們的Win7客戶端不會說出WebSockets來Win2012 hsoted signalR服務。我們在jabbr上聊過 - 我仍在決定是否嘗試爲xsockets.net嘗試編寫自定義客戶端傳輸或'bin'signalR – penderi

1

沒有爲SignalR .NET客戶端,也可以自我主機SignalR使用Owin

安裝包

Microsoft.AspNet.SignalR.Client 
相關問題