【问题标题】:call to WCF from multiple threads returns properties with null value sometimes从多个线程调用 WCF 有时会返回具有空值的属性
【发布时间】: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


【解决方案1】:

事实证明,VS 在这方面遇到了一些问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多