我有以下应用程序:
- 它的 Windows 控制台 .NET 3.0 应用程序
- 我正在创建 20 个工作负载并将它们分配给线程池进行处理。
- ThreadPool 中的每个线程都会创建 WCF 客户端并使用分配的工作负载创建的请求调用服务。
有时在生产服务器 [12 核心机器] 上,我得到以下异常:
使用 WCF 客户端调用操作时出现反映类型“xyz”的错误。这开始出现在所有线程中。一段时间后,它突然消失并再次出现。
代码:
伪代码:
for(int i=0;i<20;i++)
{
MultiThreadedProcess proc =new MultThreadedProcess(someData[i]);
ThreadPool.QueueUserWorkItem(proc.CallBack,i);
}
在类 MultiThreadedProcess 中,我执行以下操作:
public void Callback(object index)
{
MyServiceClient client = new MyServiceClient();
MyServiceResponse response =client.SomeOperation(new MyServiceRequest(proc.SomeData));
client.close();
//Process Response
}
任何人都可以为这个问题提出一些解决方案吗?