5

可能是这个问题是重复的。我有一个 WCF 上传服务,客户端通过该服务将特定文件上传到服务器。

我可以通过该服务成功发送大小为 12MB 的文件。

现在我已经将一个自我认证的 SSL 证书集成到 WCF 服务中。在没有 SSL 的情况下工作正常的同一应用程序现在返回一个错误,指出远程服务器返回了一个错误 (413) 请求实体太大。

我该如何解决这个错误这与 SSL 有关吗?

我哪里错了。

<system.serviceModel>

<bindings>
  <basicHttpBinding>
    <binding name="customHttpBinding" openTimeout="00:10:00" sendTimeout="00:10:00"
     maxReceivedMessageSize="10067108864"
      messageEncoding="Mtom" transferMode="Streamed">          
      <security mode="Transport">
        <transport clientCredentialType="Certificate" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

<behaviors>
  <serviceBehaviors>
    <behavior name="customServiceBehavior">
      <serviceMetadata httpsGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="true"/>

      <serviceCredentials>
        <clientCertificate>
          <authentication certificateValidationMode="PeerOrChainTrust" trustedStoreLocation="LocalMachine"/>
        </clientCertificate>
      </serviceCredentials>

    </behavior>
  </serviceBehaviors>
</behaviors>

<services>
  <service behaviorConfiguration="customServiceBehavior" name="FileTransferService">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="customHttpBinding"
      contract="IFileTransferService" />
  </service>
</services>

谢谢

4

1 回答 1

6

这似乎是使用 WCF over HTTPS修复 413 Request Entity too large 错误的门票

C:\Windows\System32\inetsrv>appcmd.exe set config "Default Web Site" -section:system.webServer/serverRunTime /uploadReadAheadSize:10485760 /commit:apphost

原因似乎与 IIS 如何通过 SSL 处理传入请求的身份验证有关。

另一个资源:http: //blogs.msdn.com/b/jiruss/archive/2007/04/13/http-413-request-entity-too-large-can-t-upload-large-files-using-iis6 .aspx

我下午的大部分时间都在跟踪这个问题……许多其他建议对我没有多大帮助,但这确实有帮助,所以希望这能让你解决问题。

于 2012-11-06T20:49:07.393 回答