gpt4 book ai didi

c# - 对异步 WCF 的所有其他调用都很慢

转载 作者:太空狗 更新时间:2023-10-29 19:44:34 25 4
gpt4 key购买 nike

我正在使用 Rick Strahl 这篇文章中的代码示例:http://www.west-wind.com/weblog/posts/324917.aspx对 WCF 服务进行异步调用,效果非常好。

我的问题是:第一次调用 WCF 服务大约需要 20 毫秒,而下一次调用大约需要 1 秒 20 毫秒(执行完全相同的操作并接收完全相同的数据)。如果我重复这个过程,结果总是一样的。其他所有调用都比第一个多花一秒钟。

我已经尝试在我的服务上设置 InstanceContextMode:

  [ServiceBehavior(IncludeExceptionDetailInFaults = true, InstanceContextMode = InstanceContextMode.PerSession)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public abstract class AjaxPostBack : IAjaxPostBack

我还在服务调用的方法中设置了计时器,每次的结果都是一样的(当然有一些毫秒差异,但没什么大不了的)

"JSON_Took":"00:00:00.0012939","Set_took":"00:00:00.0000274"

(这些值 - JSON_Took 和 Set_took - 是代码隐藏方法中的计时器。因此不是客户端-服务器-客户端的总时间。这只是为了说明实际代码耗时不是问题)

有什么想法吗?

如果您需要更多信息,请告诉我。

---- 有趣的更新 ----

我下载了 IE9 RC 和 Firefox(我一直在 Chrome 中测试)我在不同浏览器中的结果:

Firefox:所有调用在大约 1 秒 20 毫秒到 1 秒 30 毫秒之间保持一致

Chrome:所有其他调用都以 Firefox 的速度触发,其余的则快 1 秒

IE9:所有调用几乎完全一致(~20 毫秒)

Opera:与 IE9 几乎相同(~30 毫秒)

这是一个 webkit 问题吗? (我正在使用 $.ajax 来调用 WCF)

最佳答案

我不会依赖开发服务器的计时。如果将服务部署到 IIS(甚至是 IIS Express)会怎样? VS2010 DevServer 在计时方面不如服务器可靠,也不是生产性能的良好指标。

Here's a good article (虽然有点过时)讨论 IIS 和 Visual Studio Web 服务器(又名 Cassini)之间的差异。

很高兴这有帮助!

关于c# - 对异步 WCF 的所有其他调用都很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com