0

SilverlightモジュールのヒープであるEntity Framework 4で構築されたSilverlightアプリケーションが、私のDomainService、ModelおよびWeb.Configを含むWebプロジェクトです。SQLデータベースから多くの行をロードするとSilverlightエラーが発生する

ローカルのSQL Serverからデータを引き出すのはうまくいきます。私のSLモジュールの1つが特定のテーブルからデータを取得します。このテーブルに4000以上の行があると、アプリケーションがクラッシュし、次のエラーメッセージが表示されます。それは約1000ルーズを持っているとき、それはうまく動作します。 だから、おそらく、DomainServiceがすべての行を処理できないか、またはwebconfigのバインド設定が何らかの形で間違っていると思います。何ができますか?

のErrメッセージ:

{System.ServiceModel.DomainServices.Client.DomainOperationException:ロード操作はクエリ 'LoadSiteCageData' に失敗しました。リモートサーバーがNotFoundエラーを返しました。 ---> System.ServiceModel.CommunicationException:リモートサーバーがエラーを返しました:NotFound。 ---> System.Net.WebException:リモートサーバーがエラーを返しました:NotFound。 ---> System.Net.WebException:リモートサーバーがエラーを返しました:NotFound。 (System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) )。 <> c_ DisplayClass5.b _4(Object sendState) at System.Net.Browser.AsyncHelper。 System.Netで<> C_ DisplayClass4.b _0(sendStateオブジェクト) ---内部例外スタックトレースの終わり--- System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod、オブジェクトの状態)で 。 System.ServiceModel.DomainServices.ClientでBrowser.BrowserHttpWebRequest.EndGetResponse System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponseで(たIAsyncResult asyncResult) (IAsyncResultインター結果) ---内部例外スタックトレースの終わり--- .WebDomainClient`1.EndQueryCore(IAsyncResult asyncResult)(System.ServiceModel.DomainServices.Client.DomainClient.EndQuery(IAsyncResult asyncResult)) at System.ServiceModel.Doma InServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult) ---内部例外スタックトレースの終了--- at System.ServiceModel.DomainServices.Client.OperationBase.Complete(例外エラー) at System.ServiceModel.DomainServices.Client .LoadOperation.Complete(例外エラー)System.ServiceModel.DomainServices.Client.DomainContextの (System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult) )。 <> C_ DisplayClass1b.b _17(オブジェクト)

のWeb.Config

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<configSections> 
    <sectionGroup name="system.serviceModel"> 
     <section name="domainServices" type="System.ServiceModel.DomainServices.Hosting.DomainServicesSection, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" allowDefinition="MachineToApplication" requirePermission="false" /> 
    </sectionGroup> 
</configSections> 
<appSettings /> 
    <system.web> 

    <httpModules> 
       <add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    </httpModules> 
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"> 
     <assemblies> 
      <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     </assemblies> 
    </compilation> 
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"> 

    </pages> 

    <authentication mode="Windows" /> 

</system.web> 
<system.codedom></system.codedom> 

<system.webServer> 
    <modules> 
       <add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    </modules> 
    <validation validateIntegratedModeConfiguration="false" /> 
</system.webServer> 
<system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
      <behavior name=""> 
       <serviceMetadata httpGetEnabled="true" /> 
       <serviceDebug includeExceptionDetailInFaults="false" /> 
      </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <bindings> 
     <customBinding> 
      <binding name="MyService.Web.Service1.customBinding0"> 
       <binaryMessageEncoding /> 
       <httpTransport /> 
      </binding> 
     </customBinding> 
    </bindings> 
    <services> 
     <service name="MyService.Web.Service1"> 
      <endpoint address="" binding="customBinding" bindingConfiguration="MyService.Web.Service1.customBinding0" contract="MyService.Web.Service1" /> 
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
     </service> 
    </services> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> 
</system.serviceModel> 

+1

config、特にエンドポイントの仕様を投稿できますか?デフォルトでは、メッセージにはサイズ制限(64kb?)があります。あなたはそれを増やす必要があります。 –

+0

私は初期の投稿にwebconfigを追加しました。助けてください:) – Mcad001

答えて

1

私はこのように、ワイヤの上に来ることができるデータのサイズの限界によるものであると信じbasichttpbindingが関係している限り。それは64kです。

これを回避するには2つの方法があります。

  • クライアント側で解凍して、私は通常行うことはzipファイルとしてデータをダウンロードすることです

、いくつかのカンマ区切りファイルとしてデータをダウンロードして解析して表示

  • ページでデータ・ページをプルそのような大量のデータを処理します。

  • +0

    私が引っ張っているすべてのデータがグラフにプロットされているので、私はページングでこれを行うことはできません。だから、ジップはどちらの選択肢でもありません。 – Mcad001

    +0

    データをページすることはできます。これを行うには、一度に50件程度のレコードを取得することが必要です。すべてのレコードをダウンロードしたら、グラフにプロットすることができます。 – cadrell0

    +0

    私はこれらのコンセプトをかなり新しくしているので、今私はそれをどうやってやるべきか明確には分かりません。だから、基本的に私はこの1つでqucikの修正を探しています - バッファのいくつかの種類など、私はちょうど増加することができます。 – Mcad001

    関連する問題