2010年5月18日火曜日

WCF RIA Servicesで大量件数取得した場合にNotFound

よくわかってないからちゃんと説明できないけど…。あとWCF RIA Servicesに限った話でもなさそう。

WCF RIA Servicesで10000件とか結果が返ってくるときに、サービスがNotfoundでエラーになった。
で、最大インスタンス数が問題なのかは不明だけど、Web.configを編集して対応。

★部は以下の場合のサービス名(svcファイルを用意するわけではないので悩んだ)
  • プロジェクト名:test.Web
  • ドメインサービス名:DomainService1

 <system.servicemodel>
   <servicehostingenvironment aspnetcompatibilityenabled="true" multiplesitebindingsenabled="true">
   <bindings>
     <custombinding>
       <binding name="customBinding0">
         <binarymessageencoding maxreadpoolsize="2147483647" maxsessionsize="2147483647" maxwritepoolsize="2147483647">
           <readerquotas maxdepth="2147483647" maxstringcontentlength="2147483647" maxarraylength="2147483647" maxbytesperread="2147483647" maxnametablecharcount="2147483647">
         </readerquotas></binarymessageencoding>
         <httptransport maxbufferpoolsize="2147483647" maxbuffersize="2147483647" maxreceivedmessagesize="2147483647">
       </httptransport></binding>
     </custombinding>
   </bindings>
   <services>
     <service name="★test.Web★.DomainService1" behaviorconfiguration="★test-Web★-DomainService1"></service>
   </services>
   <behaviors>
     <servicebehaviors>
       <behavior name="★test-Web★-DomainService1">
         <servicemetadata httpgetenabled="true">
         <servicedebug includeexceptiondetailinfaults="true">
         <datacontractserializer maxitemsinobjectgraph="655360">
       </datacontractserializer></servicedebug></servicemetadata></behavior>
     </servicebehaviors>
   </behaviors>
 </servicehostingenvironment></system.servicemodel>