簡體   English   中英

SignalR:調用返回值的方法

[英]SignalR: Invoke method for returnvalue

使用SignalR,我已經能夠將消息推送到客戶端,再從客戶端發送回服務器,已經走了很遠……到目前為止,這是一件幸事。

我希望能夠做到這一點,而這可能只是SignalR無法處理的事情...是為響應而調用。

SignalR是否允許來自調用的響應? 如果是這樣,我可以向客戶提出請求,只使用第一個響應嗎?

我看到了對HubResponse和task.result的引用,但是我還不太清楚如何使Hub方法從客戶端返回值。

我玩了很多,要么得到了AggregateException,要么從Task<Object> Task<MyType>Task<MyType>

連接的客戶端僅廣播。 那就是服務器不能直接向他們發出請求。 因此,您需要做一些類似的Hub方法,在該方法中,一個客戶端可以請求其他人滿足請求,然后Hub將該請求廣播到所有連接的客戶端,然后無論哪個客戶端首先響應,您都可以廣播回原始客戶端。 您將需要在中心中維護自己的狀態,以將請求/響應顯然定向到正確的受眾。 我還認為,一旦收到第一個答案,您就想告訴所有其他客戶不要打擾/停止嘗試回答這個問題。

我不確定我是否可以為此開出確切的架構,而無需更多細節。 對於初學者,任何客戶都應該能夠響應任何請求,或者您將客戶分類嗎? 如果可以對客戶端進行分類,則可以確保僅使用組廣播對他們有意義的請求。 接下來,您基本上是在嘗試定義一個可以詢問的所有問題的界面,還是希望該集能夠在不更改集線器的情況下進行擴展? 這將決定您使用的是強類型的Hub方法還是僅使用某種通用的AskQuestion(string questionId) 如果是前者,那么您可能不會使用前面提到的組,而是只為每個請求類別設置不同的集線器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM