【发布时间】:2011-02-23 22:30:16
【问题描述】:
我同时从多个线程调用 WCF 服务,但响应为空。如果我有 10 个并行工作的线程调用服务,则只有 1 个返回数据,其余的返回所有具有空值的属性。该服务由 VS 中同一解决方案中的另一个项目使用。服务引用是通过发现获得的(所以服务不托管在 IIS 中)。
你认为我为什么会有这种行为? 如果我一次只允许一个线程:
myList.AsParallel().WithDegreeOfParallelism(1).ForAll(x => Worker(x));
一切都很好,但我至少需要 5 来加快速度。 Worker 方法调用 WCF 服务。
public void Worker(object cui)
{
MyData mf = null;
mf = (new AnalyseService.AnalyseServiceClient()).GetDataFromWCFService((string)cui, true);
}
在服务器上,响应总是正确的,但当它到达客户端时,它的属性可能为 equl null
【问题讨论】:
-
您是否确认这不是 MyData 类型的 DataContract 和 DataMember 属性的问题?
-
这些都可以,因为如果只有一个线程,一切都可以
标签: c# visual-studio wcf