代码之家  ›  专栏  ›  技术社区  ›  mafu

如何处理WCF中的可重入调用模式?

  •  2
  • mafu  · 技术社区  · 15 年前

    设想一个包含订户列表的双工WCF服务。在某个时刻,服务向所有订户发送数据,其中一些订户可能会立即再次调用服务。服务的并发模式是单一的,因此此调用将失败,并出现异常。

    我想避免这个例外,并找到两个可能的解决方案:

    1. 将concurrencyMode更改为可重入或甚至多个。这需要内部同步,所以我宁愿避免它。
    2. 确保客户端在再次调用之前等待服务器的调用完成。这需要在客户端进行一些缓冲,但我可能仍然会选择它。

    你觉得这些想法怎么样?还有别的办法吗?你是怎么解决的?

    1 回复  |  直到 15 年前
        1
  •  0
  •   MetalLemon    15 年前

    我建议你读第8.2章 Programming WCF Services Juval Lowy。它讨论了可重入性问题,以及如何设计可重入性,因为有一些问题。

    推荐文章