4

運が悪かったので検索しました...

私は得続けます

受信メッセージの最大メッセージサイズクォータ(65536)を超えました。クォータを増やすには、適切なバインディング要素でMaxReceivedMessageSizeプロパティを使用します。

それは理にかなっているので、サーバーとクライアントの両方の構成に入り、変更を加えます。

クライアント

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IFileUpload"
           closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transferMode="Streamed" messageEncoding="Text" maxBufferSize="65536" maxReceivedMessageSize="67108864">
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://localhost/services/FileUpload.svc"
          binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFileUpload"
          contract="CFTW.FileUpload.IFileUpload" name="BasicHttpBinding_IFileUpload" />
    </client>
  </system.serviceModel>

サーバ

    <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IFileUpload"

                 transferMode="Streamed" messageEncoding="Text" maxBufferSize="67108864" maxBufferPoolSize="67108864" maxReceivedMessageSize="67108864">

        </binding>
      </basicHttpBinding>

    </bindings>
    <services>
      <service name="BasicHttpBinding_IFileUpload">
        <endpoint address="~/services/FileUpload.svc"
            binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFileUpload"
            contract="CFTW.FileUpload.IFileUpload"></endpoint>
      </service>

    </services>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

なぜ機能しないのかわかりません(そうでない場合は修正します:))。.NET4.0RCで実行されています。

4

3 に答える 3

3

この問題に遭遇しました。カスタム バインドがまったく適用されないことがわかりました。次にname = ""、バインディングタグで使用しました。その後、すべてが新しい設定で機能し始めました。これは、.NET 4.0 に既定のバインディング/エンドポイント/動作構成が付属しているためです。これらのデフォルト設定にはname = "". デフォルトのバインディング自体を変更しただけです。カスタム バインディング (名前付き) が適用されなかった理由は、<service>タグの名前の値が原因です。それに従うべき<Namespace.ServiceClassName>です。

于 2012-10-16T21:57:02.233 に答える
2

maxReceivedMessageSizeバインディングのクライアント構成で属性を増やす必要があります。また、必ず同じ値を設定してmaxBufferSizeください。バッファ接続の場合、これら2つの値は同じである必要があります。

于 2011-08-24T09:09:14.400 に答える