-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);

}

Class 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 に答える