2015-04-07 100 views
0

這個問題沒有什麼關於我的代碼。這是關於理解我應該怎樣做某件事。asp.net mvc5 SignalR

問題1:

我工作的一個有趣的小項目,將發送一些信息從一個WPF客戶到網站。但我想要做的是,我想要登錄到我的WPF客戶端並將其發送給用戶。

因此,假設我在我的WPF客戶端上登錄爲「TestUser1」,我希望signalR將他的信息發送給該網站上的該用戶。所以當他在asp.net mvc5上登錄到那個用戶時,我想讓他得到那些信息,而不是其他人。

問題2:

所以,如果他會登錄爲「TestUser2」,因爲它發送信息到「TestUser1」他不會得到任何東西。這對SiglaR來說可能嗎?

對我的另一個問題,這或多或少是一個後續問題。因爲我希望WPF客戶端將信息發送到網站,我應該讓WPF客戶端成爲服務器,還是應該創建1個WPF客戶端,以及1個WPF服務器(該網站和客戶端都連接到該服務器)。

或者是否有可能使客戶端服務器和客戶端?

+0

在問這個問題之前,你應該真的看看SignalR,因爲它現在有點過於寬泛。這絕對是可能的,我認爲SignalR將是一個很好的技術,可以選擇「chat tutorial signalr c#」,並且可以保證大量的相關文章解釋如何「發送信息」並將目標用戶/連接。 –

+0

我已經與WPF客戶端,WPF服務器和一個網站進行過SignalR聊天了,如何。我只是不知道讓WPF客戶端既是客戶端又是服務器是否明智。我也不會將信息發送給certin用戶。但是,謝謝你的回覆。 – Carlssonthepirate

回答

0

客戶端不應該是服務器。您需要SignalR服務器的主機(例如您現有的Web服務器)。

使用發佈/訂閱模式訂閱網站上的用戶名,然後發佈到客戶端。 SignalR不支持pub/sub開箱即可,或者自己推出或者使用庫,我已經創建了這個庫,我認爲它適合您的需求。

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki

這裏是一個小演示瞭如何發佈和訂閱所有SignalR連接狀態。

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/tree/ConnectionStateExample/SignalR.EventAggregatorProxy.Demo.MVC4

它播放所有連接狀態爲所有用戶的所有用戶,但使用內置在我的圖書館的約束API應該很容易實現

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki/Implement-constraint-handlers

這裏是一個活演示: http://malmgrens.org/signalR/