我正在使用signalR在MVC中構建一個聊天應用程序。我知道如何從Hub獲取客戶端的ConnectionID。 但是有可能從控制器獲得相同的connectionID?從MVC中的Controller類獲取客戶端的連接Id
我試過使用HttpContext和OwinContext,但從幾個屬性中我找不到ConnectionId屬性。甚至不在HttpContext的Request屬性中。
任何人都可以提供任何想法嗎?
在這種post_ How to obtain connection ID of signalR client on the server side?
_The第一個答案建議您有集線器調用外部方法。
我知道我們在哪裏設計一個字典,將每個userId映射到幾個設備的多個ConnectionIds。
但讓我們說有一個UserController有一個LogIn和LogOut行動。如果我可以獲得剛剛登錄的用戶的connectionId,那麼會更容易。然後,我只需從DbContext獲取其用戶標識,並將它存儲爲之前提到的Dictionary,稍後可由Hub使用它。
您可以在客戶端獲取它,然後將值發送給控制器。這可以接受嗎? –
可能的重複:http://stackoverflow.com/questions/20908620/how-to-obtain-connection-id-of-signalr-client-on-the-server-side – Nikolay