c# - 实现WCF回调时是否需要在服务器端手动实现线程?

标签 c# multithreading wcf callback

我有一个 WCF Singleton 服务,其属性 [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.Single)] 使用 wsDualHttpBinding 并允许用户在数据库请求中调用。这些请求可能会运行很长时间并且经常会超时。我使用了给出的例子 here我在另一个答案中找到了这个。我已经实现了所有内容并且一切正常,但是我担心当多个客户端同时连接到我的服务时会发生什么。我已将 ConcurrencyMode 设置为 Multiple,但我不确定这是否能满足我的需要。

我的问题是,每次客户端调用时我是否都必须在服务器端创建一个新线程,或者 WCF 是否通过在单独的线程中托管我的 OperationContracts 来为我处理该线程?

感谢您的帮助!

最佳答案

WCF 将为客户端的每个调用创建线程。

关于c# - 实现WCF回调时是否需要在服务器端手动实现线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588407/

相关文章:

c# - 创建更新程序

c# - 在 WCF 中使用具有日期和时间元素的 Java Webservice

c# - WCF 是否使用 ThreadPool 为 PerCall 服务创建新实例?

java - 一个线程依赖于另一个线程

java - Android:多核设备上的显式并行代码执行?

wcf - 什么是最简单的 WCF/SOAP 配置?

c# - 使用 select() 的异步 .NET 套接字和标准套接字 : Why does select() prevent the async callbacks from happening?

c# - 标准处理模式?为什么我们在虚拟方法中需要 "disposing"参数,并且终结器不是总是在处理后调用?

c# - Datagridview 中的锚定复选框

java - 迭代同步包装器是否安全?