WCF サービスを呼び出す負荷テスターがあり、呼び出しを並行して実行するかどうかのオプションを使用してビルドしました。並列で実行している場合にのみ、すべてのスレッドで次のエラーが発生します。
これは多かれ少なかれ私のコードです:
if (runMultiThreaded)
{
ParallelOptions options = new ParallelOptions();
options.MaxDegreeOfParallelism = System.Environment.ProcessorCount;
ParallelLoopResult loopResult = Parallel.For(0, numberOfTimesToTest, options,
(i, loopState) =>
{
myService.MyOperation();
if (loopState.ShouldExitCurrentIteration) return;
});
}
else
{
for (int i = 0; i < test1NumberOfRuns; i++)
{
myService.MyOperation();
}
}
何か案は?詳細が必要な場合はお知らせください。
更新: myService は、CreateChannel メソッドを使用して ChannelFactory で作成された、サービスの操作コントラクト インターフェイスのインスタンスです。
ありがとう!