データ ファイルを 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" />