在用StackExchange.Redis這個組件時候,時不時會出現異常TimeOut解決方法以下,api
解決方法: 在Program的Main入口方法裏添加一句話:併發
System.Threading.ThreadPool.SetMinThreads(200, 200);
好比如下代碼: ui
public class Program { public static void Main(string[] args) { System.Threading.ThreadPool.SetMinThreads(200, 200); // NLogBuilder.ConfigureNLog("Config/nlog.config"); // NLogBuilder.ConfigureNLog("Config/nlog.config").GetCurrentClassLogger(); CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args). ConfigureLogging((context, loggingbuilder) => { //該方法須要引入Microsoft.Extensions.Logging名稱空間 loggingbuilder.AddFilter("System", LogLevel.Warning); //過濾掉系統默認的一些日誌 loggingbuilder.AddFilter("Microsoft", LogLevel.Warning);//過濾掉系統默認的一些日誌 //var path = Directory.GetCurrentDirectory() + "\\log4net.config"; //不帶參數:表示log4net.config的配置文件就在應用程序根目錄下,也能夠指定配置文件的路徑 loggingbuilder.AddLog4Net("Config/log4net.config"); }) .UseStartup<Startup>(); }
SetMinThreads 微軟官方的詳情:https://docs.microsoft.com/zh-cn/dotnet/api/system.threading.threadpool.setminthreads?view=netcore-2.2 spa
數值200,能夠根據實際併發量縮小或變大。日誌
StackExchange.Redis問題解決的其餘解決方法:https://www.jianshu.com/p/20b1db2154a2code