2011-08-01 35 views
0

WCFサービスコールに問題があります。このサービスは、内部に多数のオブジェクトリストを持つ複雑なオブジェクトを取ります。この問題は、オブジェクトが大きすぎる場合に発生します。 Not Foundという通信例外が発生しています。項目が大きすぎない限り、呼び出しは機能します。どんな助けもありがとう。ここでは、クライアントの設定ファイルの関連部分は次のとおりです。大きなオブジェクトでWCFエラーが見つかりません

<bindings> 
    <basicHttpBinding> 
     <binding name="BasicHttpBinding_ICartService" maxBufferSize="2147483647" 
       maxReceivedMessageSize="2147483647"> 
      <security mode="None" /> 
     </binding> 
    </basicHttpBinding> 
</bindings> 
<client> 
    <endpoint address="../Services/CartService.svc" 
       binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICartService" 
       contract="AccessPoint.RichClient.Wcf.ICartService" 
       name="BasicHttpBinding_ICartService" /> 
</client> 

web.configファイルには、以下の内容があります。

<bindings> 
    <basicHttpBinding> 
     <binding name="basicHttpLargeMessage" closeTimeout="00:02:00" 
       openTimeout="00:02:00" receiveTimeout="00:10:00" sendTimeout="00:02:00" 
       maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"> 
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" 
       maxArrayLength="2147483647" maxBytesPerRead="2147483647" 
       maxNameTableCharCount="2147483647" /> 
     </binding> 
    </basicHttpBinding> 
</bindings> 

<services> 
    <service behaviorConfiguration="CartService.CartServiceBehavior" 
      name="AccessPoint.WcfServices.CartService"> 
     <endpoint address="" behaviorConfiguration="CartServiceBehavior" 
        binding="basicHttpBinding" bindingConfiguration="basicHttpLargeMessage" 
        contract="AccessPoint.WcfServices.ICartService" /> 
</service> 

<behaviors> 
    <serviceBehaviors> 
     <behavior name="CartService.CartServiceBehavior"> 
      <serviceMetadata httpGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="true" /> 
      <dataContractSerializer maxItemsInObjectGraph ="2147483647"/> 
     </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
     <behavior name="CartServiceBehavior"> 
      <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
     </behavior> 
    </endpointBehaviors> 
</behaviors> 
+1

正確な例外とスタックトレースを追加できますか?そして、どれくらい大きなものがありますか? MBのですか? GBの?結核? – rene

+0

外部例外からのスタックトレースは次のとおりです。System.ServiceModel.AsyncResult.End [TAsyncResult](IAsyncResult結果) at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result) at System.ServiceModel.Channels System.ServiceModel.ClientBase'1.ChannelBase'1.EndInvoke(String methodName、Object [] args、IAsyncResult result)で にアクセスしました。AccessPoint.WcfServices.CartWcfSで を返します。 System.Net.Browser.BrowserHttpWebRequest.EndGetResponseでSystem.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod、オブジェクトの状態)で (たIAsyncResult:.CartWcfSClient.CartWcfSClientChannel.EndSaveCart(たIAsyncResult結果) – dna86

+0

と内部例外のスタックトレースasyncResult) at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result) – dna86

答えて

0

任意のサーバーエラー「が見つかりません」例外として、Silverlightで反映されます。レスポンスにエラーに関する追加情報があるかどうかを確認するには、ネットワークスニッフィングツール(Fiddlerなど)を使用するか、サーバー側でenable tracingを使用して、応答が正常に返されない理由を確認する必要があります。

投稿はhttp://blogs.msdn.com/b/silverlightws/archive/2010/09/23/debugging-wcf-services-in-silverlight.aspxで、SilverlightのWCFサービスのデバッグに関する多くの情報を含むビデオがあります。

+0

Fiddlerに何も表示されないので、何かが送信される前に障害が発生していると推測しています。 – dna86

+0

サーバーでトレースを有効にしてから、そこに追加情報があるかどうか確認してください。 – carlosfigueira

関連する問題