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