8

我有一个 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 会更快?

4

3 回答 3

1

当您运行 fiddler 时,它充当所有网络调用的代理,对吗?所以这个代理可能比真正的 DNS 主机响应得更快。您在绑定配置中设置的连接超时是多少?

于 2012-10-01T13:42:25.090 回答
0

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

于 2012-09-27T13:38:57.400 回答
0

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

再次感谢您的回复。

于 2012-11-26T15:42:49.947 回答