テスト目的AdventureWorksDW
で、Microsoft. VSで新しい「WCF Data Service」プロジェクトを作成し、Entity Frameworkモデルを作成して、それをDataService
基本クラスのジェネリックパラメーターに渡しました。モデルにいくつかのディメンションとファクト テーブルを含めましたFactInternetSales
。FactInternetSales テーブルには、既定で OData を介してアクセスするには多すぎるデータ (60398 レコード) が含まれているようです。コンソール アプリから FactInternetSales エンティティ セットを反復処理しようとするSystem.Net.WebException
と、次のメッセージが表示されます。
基になる接続が閉じられました: 接続が予期せず閉じられました。
反復する行数を制限する場合、1000 と言いましたが、問題はありません。
一方、この OData サービスを使用して FactInternetSales から PowerPivot にデータを読み込もうとすると、次のエラー メッセージが表示されます。
データ フィード 'FactInternetSales' のスキーマを取得できません。このフィードが存在することを確認してください。
InitializeService
OData サービスのメソッドで を設定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 サービスを介してこの量のデータ フローを許可するのは構成の問題だと思いますが、既定の動作を変更する適切な場所が見つかりません。