WCF服务最优配置

时间:2014-02-26 06:42:08

标签: wcf binding configuration

我正在为我的wcf服务使用basicHttpBinding

<basicHttpBinding>
    <binding name="BasicHttpBinding_UtilityService" 
          closeTimeout="01:00:00" openTimeout="01:00:00" 
          receiveTimeout="01:00:00" sendTimeout="01:00:00" 
          allowCookies="false" bypassProxyOnLocal="false" 
          hostNameComparisonMode="StrongWildcard" 
          maxBufferSize="52428800" maxBufferPoolSize="52428800" 
          maxReceivedMessageSize="52428800" 
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
          useDefaultWebProxy="true">
      <readerQuotas 
             maxDepth="52428800" maxStringContentLength="52428800" 
             maxArrayLength="52428800" maxBytesPerRead="52428800" 
             maxNameTableCharCount="52428800"/>
      <security mode="None">
        <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
        <message clientCredentialType="UserName" algorithmSuite="Default"/>
      </security>
    </binding>
</basicHttpBinding>

<behavior name="httpMetadataBehavior">
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="true"/>
      <dataContractSerializer maxItemsInObjectGraph="52428800" />
      <serviceThrottling maxConcurrentCalls="200" maxConcurrentSessions="200" maxConcurrentInstances="200" />
</behavior>

请告知我应该为maxArrayLengthmaxItemsInObjectGraph,打开/关闭和接收超时的值。如果我将其设置为最大允许值,那么这样做会有什么危害吗?

应如何最佳地定义大小和超时值?

1 个答案:

答案 0 :(得分:0)

最佳始终严重依赖您正在做什么以及您的要求是什么。

没有 ONE optimal 设置 - 您认为WCF团队是否会将默认设置设为默认设置?

另外:

设置所有最大允许大小为潜在的拒绝服务攻击打开了大门 - 这就是 NOT 设置为2的原因首先是每个尺寸值的GB!