1

データ ファイルを WCF サービスにアップロードしようとしていますが、小さなファイルで問題なく動作しています。ただし、サイズが 2MB のファイルをアップロードしようとすると、エラー 400 Bad Request が表示されます。

小さなファイルで動作しているため、最大サイズの制限に問題があると考えなければなりませんが、それらをすべて増やしましたが、それでも同じエラーが発生します。

私を正しい方向に導いてくれてありがとう。ありがとう :)

WCF サービスで次の構成を使用しています。

これはサービス構成です

 <!-- WIZARD FILE UPLOAD CONFIGURATION -->
  <service behaviorConfiguration="BBS.eBillity.Services.ServiceBehavior" name="BBS.eBillity.Services.Modules.IWizardUploadFile">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="WizardUploadFile_StreamedBinding"
     contract="BBS.eBillity.Services.Contracts.ServicesContracts.IWizardUploadFile">
      <identity>
        <dns value="localhost" />
      </identity>
    </endpoint>
  </service>

サービスのバインディング構成

<binding name="WizardUploadFile_StreamedBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"
             transferMode="StreamedRequest" closeTimeout="04:01:00"
 openTimeout="04:01:00" receiveTimeout="04:10:00" sendTimeout="04:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferPoolSize="2147483647"   useDefaultWebProxy="true">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
           maxArrayLength="2147483647" maxBytesPerRead="2147483647"
           maxNameTableCharCount="2147483647"/>
    </binding>

サービス契約は非常にシンプルです...

[ServiceContract]
public interface IWizardUploadFile
{

    [OperationContract]
    void UploadFiletoServer(Stream request);

}

system.web タグ内で、クライアントとサーバーの構成ファイルに次を追加しました

<httpRuntime maxRequestLength="2147483647" />

これはクライアント構成です:

 <basicHttpBinding>

 <binding name="BasicHttpBinding_IWizardUploadFile" closeTimeout="04:01:00"
 openTimeout="04:01:00" receiveTimeout="04:10:00" sendTimeout="04:01:00"
 allowCookies="false" bypassProxyOnLocal="false"
 hostNameComparisonMode="StrongWildcard"
 maxBufferSize="2147483647" maxBufferPoolSize="2147483647"
 maxReceivedMessageSize="2147483647"
      transferMode="Streamed"
 useDefaultWebProxy="true">
   <readerQuotas maxDepth="2147483647"
       maxStringContentLength="2147483647" maxArrayLength="2147483647"
       maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
   <security mode="None">
     <transport clientCredentialType="None"
             proxyCredentialType="None" realm="" />
     <message clientCredentialType="UserName" algorithmSuite="Default" />
   </security>
 </binding>

エンドポイント構成

<endpoint address="http://localhost:1234/WCFeBillity/WizardUploadFile.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWizardUploadFile"
contract="WizardUploadFile.IWizardUploadFile" name="BasicHttpBinding_IWizardUploadFile" />
4

0 に答える 0