我有一个调用我的 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 是我的服务操作合同接口的一个实例,它是使用 ChannelFactory 使用 CreateChannel 方法创建的。
谢谢!