系统与Parallel一起使用时出现AggregateException异常.调用()

本文关键字:AggregateException 异常 调用 Parallel 一起 系统 | 更新日期: 2023-09-27 17:57:53

我正在尝试使用Parallel.Invoke()并行运行2 exe两个exe都试图访问同一个数据库(但不同的表)。此外,exe将在两个不同的服务器上运行。我使用WMI和C#在远程服务器中启动批处理文件(它将调用另一个exe文件)。

Parallel.Invoke(() =>
            {
                RunInParallel();
            },
            () =>
            {
                InvokeModule("EmiCalculator.exe");
            } 
            );
void RunInParallel()
{
                var connoptions = new ConnectionOptions();
                var managementScope = new ManagementScope
                    (String.Format(@"''{0}'ROOT'CIMV2", REMOTE_COMPUTER), connoptions);
                var wmiProc = new ManagementClass(managementScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
                string commandLineInput = @"''win-server1'D$'Data'Run.bat";
                var processToRun = new[] { commandLineInput };
                wmiProc.InvokeMethod("Create", processToRun);
}

Run.bat正在调用SalaryCalculator.exe

两个exe都有一个带有ConnectionString的配置文件,如下所示。

<add name="CONN" connectionString="Data Source=SERVER1-LAB1;Initial Catalog=Loan;Integrated Security=True"/>

运行时,远程计算机中的exe崩溃并抛出以下异常:

Application: SalaryCalculator.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AggregateException
Stack:
   at System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[], Int32, System.Threading.CancellationToken)
   at System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[], Int32)
   at System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[])

注意:如果我在连接到远程机器后运行批处理文件,则它工作正常。与Parallel.Invoke() 一起使用时仅抛出错误

我如何在这里继续?感谢您的帮助。

系统与Parallel一起使用时出现AggregateException异常.调用()

我能够做到这一点。当提到集成安全性时,问题是连接字符串。我只是将连接字符串更改为使用SQL server authentication而不是Windows身份验证。而且效果很好。

< add name="CONN" connectionString="Data Source=SERVER1-LAB1;Initial Catalog=Loan;User Id=sa;Password=xxxx12345678" /> 
相关文章:
  • 没有找到相关文章