Excel向OData服务发出多个请求

时间:2014-02-19 16:17:02

标签: asp.net excel odata

我使用通用的.ashx处理程序构建了一个OData端点,以便针对SQL Server数据库运行一些SQL,并使用ODataLib 5.6格式化有效内容。它似乎按预期工作,我可以在浏览器中查看结果,并可以使用数据功能区上的From OData Data Feed选项将数据成功导入Excel 2013。

但是,我注意到Excel在检查Fiddler中的HTTP流量时实际上发出了两个GET请求。这导致了一些性能问题,因为SQL语句被发出两次,并且XML feed通过线路两次发送。两个请求中的请求标头看起来都相同。数据不会在Excel中重复。有没有办法阻止Excel多次调用端点?如果需要,我可以提供代码片段或Fiddler跟踪。

1 个答案:

答案 0 :(得分:0)

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

提出“重复”调用的原因是ADO .Net在第一时间不足以识别数据。因此,它首先获得架构,知道有关数据的详细信息,并且可以通过第二次调用获取并识别真实数据。第一个调用是通过ADO.NET Provider GetSchema call,但该特定提供程序通过查看数据来确定模式。