我很好奇 .NET 4.6.1 中 WCF ServiceBehavior 的生命周期/生命周期是什么。 ServiceBehavior 类是在首次创建服务期间实例化还是实例化对 WCF 中给定终结点的每次调用。任何帮助或文档链接将不胜感激,我很难确定它。
<behaviors>
<serviceBehaviors>
<behavior name="**<<removed>>.ServiceBehavior**">
<serviceThrottling maxConcurrentCalls="300" maxConcurrentSessions="300" maxConcurrentInstances="300" />
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceCredentials>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
由于该配置中未指定
InstanceContextMode
,因此将使用 PerSession
的默认值。如果通道允许会话保持活动状态,则在任何给定点您将有 1..300 个实例,具体取决于活动会话的数量。如果不允许进行会话,那么您将拥有更多的 PerCall
一生。