3

テスト目的AdventureWorksDWで、Microsoft. VSで新しい「WCF Data Service」プロジェクトを作成し、Entity Frameworkモデルを作成して、それをDataService基本クラスのジェネリックパラメーターに渡しました。モデルにいくつかのディメンションとファクト テーブルを含めましたFactInternetSales。FactInternetSales テーブルには、既定で OData を介してアクセスするには多すぎるデータ (60398 レコード) が含まれているようです。コンソール アプリから FactInternetSales エンティティ セットを反復処理しようとするSystem.Net.WebExceptionと、次のメッセージが表示されます。

基になる接続が閉じられました: 接続が予期せず閉じられました。

反復する行数を制限する場合、1000 と言いましたが、問題はありません。

一方、この OData サービスを使用して FactInternetSales から PowerPivot にデータを読み込もうとすると、次のエラー メッセージが表示されます。

データ フィード 'FactInternetSales' のスキーマを取得できません。このフィードが存在することを確認してください。

InitializeServiceOData サービスのメソッドで を設定config.SetEntitySetPageSize("*", 1000000)しましたが、効果がないようです。次のコードもサービスの web.config に追加しましたが、成功しませんでした。

<system.web>
  ...
  <httpRuntime maxRequestLength="40960" />
</system.web>
...
<system.webServer>
  <security>
    <requestFiltering allowDoubleEscaping="true">
      <requestLimits maxAllowedContentLength="2147483647" />
    </requestFiltering>
  </security>
</system.webServer>

OData サービスを介してこの量のデータ フローを許可するのは構成の問題だと思いますが、既定の動作を変更する適切な場所が見つかりません。

4

0 に答える 0