将自定义绑定与 httpTransport 结合使用时的默认实例上下文模式是什么



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

我知道这个问题以前有人问过:

什么是默认实例上下文模式?

并且指出这取决于配置:

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>

我想我们的实例上下文模式是在这种情况下每次调用的,但我不确定......你能评论一下吗?

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

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

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

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

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

最新更新