我有一个连接到MySql服务器的多线程c#代码。
List<string> itemLst=new List<string>();
//fills the list here
ParallelOptions po=new ParallelOptions();
po.MaxDegreeOfParallelism = 45;
Parallel.ForEach(itemLst,po,item=>
{
//Open connection to MySql server
//do some SELECT queries
//do 1 insert and 1 delete query
//close and dispose connection
}
当我在Visual Studio(2017)的Debug(使用IIS Express)中运行此代码时,一切正常,但当我将代码上传到Linux服务器(ubuntu 16.04)时,它崩溃了。 我尝试使用dotnet运行它来查看异常并收到以下内容:
AggregateException:发生一个或多个错误(Connect Timeout 已过期。)---&gt; System.ObjectDisposedException:无法访问 处置对象。
MySql服务器规格:
128GB RAM,20 VCPUS(i7 cpus)
Ubuntu服务器规范:
64GB RAM,16 VCPUS(i7 cpus)
个人电脑:
16GB RAM,1个CPU(i7)
我将如何解决这个问题?
任何帮助将不胜感激!