https wcf服务的大文件问题

时间:2018-11-26 13:48:53

标签: wcf https upload

在未应用SSL证书的情况下,我们可以使用wcf服务将最大文件传输至2gb。 使用SSL证书后,它仅允许上传几个KB,并且由于大文件而失败,并出现不同的错误。 这适用于从c#控制台应用程序调用的小文件。

      

    <binding name="BasicHttpBinding_IDocumentManagement" maxReceivedMessageSize="2147483647" sendTimeout="12:00:00" receiveTimeout="12:00:00" closeTimeout="12:00:00" openTimeout="12:00:00" 
             messageEncoding="Mtom" maxBufferSize="2147483647" maxBufferPoolSize="2147483647">          

      <security mode="Transport">
        <transport clientCredentialType="Ntlm" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>
<client>

  <endpoint address="https://apps.stg.ppp.com/PIDService/DocumentManagement.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDocumentManagement"
    contract="PIDLocalService.IDocumentManagement" name="BasicHttpBinding_IDocumentManagement" />
</client>

客户代码

var service = new PIDLocalService.DocumentManagementClient();
        var docDetails = new PIDLocalService.DocumentDetails();

        ServicePointManager.ServerCertificateValidationCallback = delegate
        {
            return bool.Parse(ConfigurationManager.AppSettings["IgnoreSSLErrors"]);
        };
var result = new PIDLocalService.ValidationResult();


        try
        {
            service.PostDocument(
                docDetails.Audience, ....);

}

错误:

  

“未能分配463607746字节的托管内存缓冲区。可用内存量可能不足。”

添加服务配置

<readerQuotas maxDepth="4500000" maxStringContentLength="4500000" maxBytesPerRead="40960000" maxNameTableCharCount="250000000" maxArrayLength="4500000"/>                                         

并更改安全模式=“运输”>

  

“无法使用授权'apps.ppp.stg.com'为SSL / TLS建立安全通道。”

如何检查我的证书工作正常?还是仅仅是配置问题?

0 个答案:

没有答案