2011-09-09 55 views
1

WCF REST 4.0文字列の最大コンテンツ長のクォータ

https://stackoverflow.com/search?q=maxStringContentLength

はしかし、私はまだ自分のニーズに合った解決策を見つけていません。私はMVC3アプリをWCF 4.0でビルドされたRESTアプリに接続しています。

は、これまでのところ私は...

<standardEndpoints> 
    <webHttpEndpoint> 
    <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="false" defaultOutgoingResponseFormat="Json" crossDomainScriptAccessEnabled="true" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> 
    </webHttpEndpoint> 
</standardEndpoints> 

RESTサーバーの一部の作品を持っています。長い文字列値を持つ大きなモデルをそのプロパティの1つとして渡すことができます。 MVCアプリケーションから、大量のデータをモデルに投稿し、そのデータがDBに作成されたことがわかりました。アプリがポストを終え、それはちょうどそれが私のモデルをシリアル化しようとしたとき、私は悪名高いエラーを取得し保存したデータを要求しようとした

...

文字列の最大コンテンツ長のクォータ(8192) XMLデータを読み取っている間に超過しています。この制限は、XMLリーダーの作成時に使用されるXmlDictionaryReaderQuotasオブジェクトのMaxStringContentLengthプロパティを変更することによって増加させることができます。

私はWebChannelFactoryを使用して、残りのデータを取得して、インターフェイスへのチャネルを作成していな

<bindings> 
    <webHttpBinding> 
    <binding> 
     <readerQuotas maxStringContentLength="2147483647"/> 
    </binding> 
    </webHttpBinding> 
</bindings> 

として多くのことを試してみました。

string uri = "http://localhost/RestService"; 
WebChannelFactory<IRestService> _cf = new WebChannelFactory<IRestService>(new Uri(uri)); 
IRestService service = _cf.CreateChannel(); 

これまでのところ、何も行われていませんでした。モデルが正しくシリアル化されるようにするMVC3アプリケーションに欠けているものがありますか?

私は.SVCファイル、なしバインディングと、そのような何もないWCF 4と知っているが、私はRESTのデフォルトの設定ができるようにするためにMVCのアプリで投げるために必要なものへと途方に暮れていますかわった。

答えて

1

this questionの回答のコードを見て、最大文字列の長さを確認する方法を参照してください。そのアプローチがあなたのために働くように思えます。

+0

これは完璧です!ありがとう... – jcreamer898

関連する問題