我可以使用IHubContext接口從服務器代碼調用InvokeAsync,但有時我想強制這些客戶端斷開連接。從IHubContext斷開客戶端<THub>
那麼,有沒有什麼辦法斷開客戶端與引用IHubContext接口的服務器代碼的連接?
我可以使用IHubContext接口從服務器代碼調用InvokeAsync,但有時我想強制這些客戶端斷開連接。從IHubContext斷開客戶端<THub>
那麼,有沒有什麼辦法斷開客戶端與引用IHubContext接口的服務器代碼的連接?
在alpha 2中有 HubConnectionContext
您可以用來終止連接。然而,我沒有看到從集線器外部訪問它的簡單方法。 由於您控制客戶端,因此您可以調用客戶端方法並告訴客戶端斷開連接。優點是客戶端正常斷開連接。缺點是它需要將消息發送到客戶端,而不是僅在服務器端斷開客戶端。
這就是我現在正在做的事情,但如果Abort方法暴露在IClientProxy上,它會很酷。 –
我們不打算支持從IClientProxy中止連接。這將需要它在規模擴大的情況下工作 – davidfowl
這個問題是針對Asp.NET Core SignalR而不是SignalR 2.2.2。此外,儘管無法強制斷開客戶端連接,但如果客戶端協作,可能會斷開連接。 – Pawel