2014-02-19 24 views
0

我已經使用通用.ashx處理程序構建了一個OData端點,以針對SQL Server數據庫運行一些SQL並使用ODataLib 5.6格式化有效內容。它看起來按預期工作,我可以在瀏覽器中查看結果,並可以使用數據功能區上的從OData數據源選項成功地將數據導入Excel 2013。Excel向OData服務發出多個請求

但是,我注意到Excel在檢查Fiddler中的HTTP流量時實際上發出兩個GET請求。這是由於SQL語句發出兩次以及XML饋送兩次通過線路發送引起一些性能問題。這兩個請求中的請求標頭看起來相同。數據在Excel中不重複。有沒有辦法阻止端點被Excel多次調用?如果需要,我可以提供代碼段或Fiddler跟蹤。

回答

0

我的建議是使用Power Query代替ADO.Net。

提高「重複」調用的原因是ADO.Net不知道第一次識別數據的程度。所以它首先得到模式,知道數據的細節,並且可以通過第二次調用獲得並識別出數據的真實真實數據。第一次調用是通過ADO.NET Provider GetSchema call,但該特定提供程序通過查看數據來確定模式。

+0

謝謝,這給了我的信息。我需要的。我仍然需要支持ADO.NET,但是我能夠修改服務,以使用適當的數據類型和字段名稱爲第一次調用發送一些默認值,然後在第二次調用時發送實際數據。 – RonFrum