我在 .NET 中有一個 SignalR 實作,它有一個IHubProtocol簡單地使用JsonHubProtocol.
我注意到我的 SignalR 服務器發送了一條型別訊息CompletionMessage以及呼叫 ID,以及其他有用的屬性,例如Error指示是否有錯誤,以及HasResult.
如何在呼叫發生時“拋出”錯誤,以便Error屬性包含此錯誤,以便客戶端可以正確處理它?
uj5u.com熱心網友回復:
經過大量嘗試錯誤后,我發現LogFilter記錄所有呼叫的我也捕獲了所有例外并將它們記錄為錯誤,這阻止了 SignalR 錯誤傳播機制正常作業。為了解決這個問題,我在捕獲和記錄后重新拋出了例外。
這最終給了我客戶錯誤。但是,我仍然不知道它們是什么錯誤。要解決此問題,您必須啟用一個選項以在將 SignalR 添加到應用程式服務時提供詳細錯誤,如下所示:
services.AddSignalR(o =>
{
// Provide detailed error messages only for non-production environments.
o.EnableDetailedErrors = !HostEnvironment.IsProduction();
});
詳細錯誤和非詳細錯誤之間的區別——這部分沒有在任何地方正確記錄——是詳細錯誤將為您提供例外型別和訊息。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/450031.html
上一篇:通過物件串列中的多個引數過濾查詢
