运行wcf实例的数量

时间:2015-02-26 12:00:57

标签: multithreading wcf service instance

我在IIS中托管的wcf服务使用不支持多线程的外部引擎dll。所以我想运行数字wcf实例,每个实例使用相同外部引擎的不同dll文件夹。如何在IIS中托管的WCF中执行此操作?

1 个答案:

答案 0 :(得分:0)

虽然我没有完全遵循使用方案,但以下一般指导可能会有所帮助:

设置实例上下文:
实例化行为(使用ServiceBehaviorAttribute.InstanceContextMode属性设置)控制如何创建InstanceContext以响应传入消息。默认情况下,每个InstanceContext都与一个用户定义的服务对象相关联,因此(在默认情况下)设置InstanceContextMode属性还控制用户定义的服务对象的实例化。 InstanceContextMode枚举定义了实例化模式。

[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerCall ...

设置并发模式:
并发性是任何时候控制InstanceContext中活动的线程数。这是通过使用ServiceBehaviorAttribute.ConcurrencyMode和ConcurrencyMode枚举来控制的。

[ServiceBehavior(ConcurrencyMode=ConcurrencyMode.Multiple ...

配置限制值:

<behaviors>
  <serviceBehaviors>
    <behavior  name="Throttled">
      <serviceThrottling 
        maxConcurrentCalls="x" 
        maxConcurrentSessions="x" 
        maxConcurrentInstances="x"
      />

https://msdn.microsoft.com/en-us/library/ms731193%28v=vs.110%29.aspx

相关问题