私はWCFを初めて使い、サービスが受ける構成の迷路を頭で捉えようとしています。私はデフォルトのmaxReceivedMessageSize
より大きいテーブルのエクスポートを返すことができる休憩サービスを持っています。だから私はこのサービス/エンドポイントのための設定と遊ぶことを試みていると私はどこにも行きません。下に私が取り組んでいるものの要点があれば、私は何が欠けていますか? ListをJSONまたはXMLとして返すだけで、デフォルトのしきい値を返す必要があります。RESTfulサービスでのwebHttpBindingのバインドとコンフィグレーション
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<!-- defin service -->
<service behaviorConfiguration="EPRestBehavior" name="EPRestDNS">
<endpoint address=""
bindingConfiguration="ApiExportBinding"
binding="webHttpBinding"
contract="IDNSRestService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="EPRestBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
...
</behaviors>
<bindings>
<!-- Customizations for REST service -->
<webHttpBinding>
<binding name="ApiExportBinding" maxReceivedMessageSize="10485760"
maxBufferPoolSize="10485760" maxBufferSize="10485760" closeTimeout="00:03:00"
openTimeout="00:03:00" receiveTimeout="00:10:00" sendTimeout="00:03:00">
<readerQuotas maxDepth="32" maxStringContentLength="10485760"
maxArrayLength="10485760" maxBytesPerRead="10485760" />
<security mode="None" />
</binding>
</webHttpBinding>
</bindings>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" />
</webHttpEndpoint>
</standardEndpoints>
UPDATE 1 私はその設定のすべてを削除し、既存のwebHttpEndpointセクションで何かsimperを試してみた:同じ結果と
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" maxReceivedMessageSize="1000000000" />
</webHttpEndpoint>
</standardEndpoints>
。 HTTP/1.1 502 Connection reset by peer
良い点は、クライアント側です。 Fiddlerを使用すると、私は502接続のリセットエラーが発生することがわかりますが、サーバー上またはデバッグ中に例外がスローされることはありません。それは、私がクライアントに「ちょっと、まともなデータを取得しようとしていて、1秒間ですべてを取得しようとしている」と知っている何かが欠けているようなものです。 – BryanGrimes
あなたは例外を投じることはありませんか? – KMan
いいえ、何もありません。 Fiddlerとブラウザのクライアントエラーだけ。 – BryanGrimes