使用带有httpTransport的自定义绑定时,默认实例上下文模式是什么?

时间:2014-02-24 13:37:29

标签: c# wcf iis

使用httpTransport的自定义绑定时,我需要知道默认的实例上下文模式。

我知道之前已经问过这个问题:

What is the default instance context mode?

并且声明这取决于配置:

http://suntsu.ch/serendipity/index.php?/archives/191-What-is-the-default-for-WCF-if-InstanceContextMode-is-not-set-explicit.html

对于我的情况,我们使用自定义绑定与http传输:

     <customBinding>
        <binding name="customBinding" closeTimeout="00:03:00" openTimeout="00:03:00" receiveTimeout="00:03:00" sendTimeout="00:03:00">
          <binaryMessageEncoding compressionFormat="GZip">
            <readerQuotas maxStringContentLength="2147483647" maxDepth="32" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          </binaryMessageEncoding>
          <httpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
        </binding>
      </customBinding>

我想在这种情况下我们的实例上下文模式是每次通话但我无法确定...你能评论吗?

1 个答案:

答案 0 :(得分:0)

我终于找到了自己的答案。这是每次通话。我对服务进行了负载测试,并通过perfmon观察了服务实例计数器。该服务托管在具有2个处理器的服务器上。应用负载后,我看到实例的数量最初一直增加,然后停留在32(16 * 2)。我正在使用默认限制设置,这是它在Juval Lowy的“Programming WCF”一书中写的:

  

对于每次呼叫服务,实例数实际上是相同的   作为并发呼叫的数量

并且最大并发呼叫数的默认值为:

  

默认值是处理器(或核心)数的16倍。

我想这证明我的配置(使用httpTransport自定义绑定)使服务在每个呼叫模式下运行。