Asp.net-Core

RedisTimeoutException 使我的 aspnet 核心應用程序崩潰

  • June 12, 2019

當我的應用程序流量變高時,StackExchange.Redis開始拋出RedisTimeoutException,幾分鐘後,我的 asp.net 核心應用程序崩潰。

Windows 事件查看器說The process was terminated due to an unhandled exception. Exception Info: StackExchange.Redis.RedisTimeoutException。好的,我知道我的應用程序和 Redis 之間存在一些問題,但是雖然我無法解決這個問題,但如何防止應用程序關閉?

在裡面startup.cs,我試著放:

TaskScheduler.UnobservedTaskException += (object sender, UnobservedTaskExceptionEventArgs eventArgs) =>
{
   eventArgs.SetObserved();
   eventArgs.Exception.Handle(ex => true);
};

沒有成功……

有什麼幫助嗎?

Tks

你是如何創建ConnectionMultiplexer實例的?

也許您沒有重用多路復用器實例並創建大量連接。

ConnectionMultiplexer對象應該在呼叫者之間共享和重用。不建議創建ConnectionMultiplexer每個操作。在此處查看 StackExchange.Redis 文件以獲取更多資訊。

關於 Asp.NET Core 上的異常處理,可以使用UseExceptionHandler診斷中間件來全域處理異常。查看這篇文章以獲得完整的解釋

引用自:https://stackoverflow.com/questions/56194955