【问题标题】:WCF Thread SleepWCF 线程休眠
【发布时间】:2012-09-29 03:07:35
【问题描述】:

我有一个为 WCF 服务启动主机的 Windows 服务。我有一个定义 ServiceContract 和 OperationContracts 的接口。有一个类实现了这个接口。 ServiceBehavior 属性是 PerSession。据我了解,每个会话在 WCF 服务上都有自己的类实例。

[ServiceBehavior(InstanceContextMode = ServiceModel.InstanceContextMode.PerSession)]
public class WCFServiceImplementation : WCFServiceInterface
{

}

现在在我的WCFServiceImplementation 的某个地方我正在调用Threading.Thread.Sleep(1000)(有一些竞争条件)。我的问题 - 当线程处于睡眠状态时,其他客户端仍然可以调用该服务吗?我对线程不是很熟悉,每个类实例是否使用 WCF 服务在自己的单独线程上运行。

【问题讨论】:

  • Thread.Sleep 永远不是竞争条件的答案...
  • @jeroenh 我本来想避免的,但我需要与不受我的代码控制的外部应用程序通信。
  • 您能否添加一些有关您与 3rd 方应用程序通信的详细信息,也许我们可以提供更好的解决方案。

标签: c# wcf


【解决方案1】:

是的,其他客户端仍然可以调用该服务,因为它们将在其他会话中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-18
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 2010-09-10
    相关资源
    最近更新 更多