問題
是否可以將用戶從 SignalR Core Hub 重定向到我的應用程式中的任何其他位置?
我嘗試使用GetHttpContext然后呼叫Response.Redirect,但我得到一個例外通知Response已經啟動。
更多背景關系
我在我的應用程式中使用 MVC 來獲得一個用于路由和使用基于 MVC cookie 的身份驗證的簡單控制器。然后在成功驗證后,我的控制器將用戶重定向到由 SignalR 集線器管理的位置。但是,我注意到在某些情況下,我需要根據 Hub 中的資訊將用戶回傳到登錄頁面。
這是否有意義,或者我在設計我的應用程式時犯了一個錯誤,現在需要重新設計它?
uj5u.com熱心網友回復:
正如@Wiktor Zychla 所說,我們應該在客戶端做這些事情,因為服務器集線器的方法無法重定向客戶端。您只能在服務器上撰寫方法,然后使用客戶端js進行重定向。
更多細節,您可以參考以下代碼:
public async Task RedirectPage(string user) {
// You could send it to a specific user
await Clients.All.SendAsync("RedirectPageClient", "home/index");
}
JS代碼:
connection.on("RedirectPageClient",function(url){
console.log(url);
window.location.href = url;
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/407662.html
標籤:
