为什么在Fiddler运行时WCF数据服务表现更好?

时间:2012-08-23 21:40:21

标签: c# wcf-data-services fiddler

我有一个Windows应用程序,它连接到同一台机器上托管的WCF数据服务。

应用程序启动时发生的第一件事是返回0到3个结果的查询。这是代码:

var environments = ctx.Environments
.AddQueryOption("$filter", "Environment eq '" + ConfigurationManager.AppSettings["environment"] + "'")
.AddQueryOption("$expand", "Departments, SecurityGroups");

我接下来要做的是检查(environments.Count()== 0)是否需要大约10秒来评估。它似乎是第一次最慢,但总是需要超过6秒。但是,如果我正在运行Fiddler,我总会立即得到结果。

为什么运行Fiddler让它更快?

3 个答案:

答案 0 :(得分:1)

当你运行fiddler时,它充当所有网络呼叫的代理,对吧?因此,这个代理可能比真正的DNS主机响应更快。您在绑定配置中设置的连接超时是什么时间?

答案 1 :(得分:0)

正如weismat所说,它可能是DNS问题。如果您在WCF URL中使用DNS名称,请尝试使用loopback ip(127.0.0.1)或您的本地IP。

答案 2 :(得分:0)

我很欣赏所有答案,但最终我的VS 2010开发环境出现了问题。我能够通过保持Fiddler启动和运行来处理缓慢的第一响应,但在安装Telerik控件套件之后,我的应用程序在调试时花了将近一分钟来加载表单。怀疑这与另一个问题有关,我安装了VS 2012并升级了我的项目,现在一切正常。

再次感谢您的回复。