-1

我有以下应用程序:

  1. 它的 Windows 控制台 .NET 3.0 应用程序
  2. 我正在创建 20 个工作负载并将它们分配给线程池进行处理。
  3. 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
}

任何人都可以为这个问题提出一些解决方案吗?

4

1 回答 1

0

如果您可以打开诊断,在我看来是序列化问题,则可能某些数据成员/值无法正确反序列化以进行操作调用。

于 2012-12-29T16:36:05.483 回答