c# - 稳步减慢从 javascript 到 WCF 服务的 ajax 调用

标签 c# .net javascript jquery wcf

我有一个 WCF 服务,我正在使用 jQuery 1.4.2 调用它(实际上每隔一秒左右轮询一次)。随着时间的推移,ajax 调用变慢了。对方法的初始请求约为 30 毫秒,但在大约半小时后我可以使用 Opera 的 DragonFly 观看(并使用 chrome 的工具进行验证)我的请求时间慢慢增加。在大约半小时内,我的请求时间从约 30 毫秒变为约 300 毫秒。

一开始我以为是自己写的服务,所以我把方法改成只返回一个值,没有计算什么的:

public int DoSomething(int id)
    {
        return 0;
    }

我很惊讶地发现行为是一样的:请求时间稳步增加。我知道这很模糊,但是对于解决此类问题有什么建议吗?如果不是我的方法,谁是可能的候选人?

我正在使用 .NET 3.5sp1 和 C#

编辑:澄清一下,我正在使用 jQuery 的 $.ajax 方法进行调用,实际请求时间正在变慢,响应总是大约 ~0 毫秒。

编辑 2:我已经解决了 Jon Hanna 评论中提到的内存问题,但我的请求时间仍然增长。

最佳答案

您是否查看过浏览器运行时消耗的内存?可能值得关注这一点,看看它是否会随着时间的推移而增加很多。

您需要一个全新的浏览器(在不同的选项卡中打开您最喜欢的音乐家的流行歌曲的 YouTube 视频后,没有任何测量意义)允许爬过任何初始内存抓取,然后运行您的脚本。

如果这是一个问题,那么请考虑合并您的 javascript 对象,尤其是 XHR 本身,以确保事件不会绑定(bind)到处理程序然后被忽略,并且您不会不断地添加到主机的 DOM文档。

关于c# - 稳步减慢从 javascript 到 WCF 服务的 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3506541/

相关文章:

c# - float 划分的按位表示 - float 的划分是如何工作的

c# - 为什么当我将类转换为它未实现的接口(interface)时没有编译器错误?

c# - 从 Windsor 容器中删除或覆盖组件

javascript - 为什么 clientID 不足以使用 Google API?

c# - MemoryCache.Set() 是线程安全的吗?

c# - 使用 Writeline 创建批处理文件

.net - 确定 .NET 程序集是否是从同一源构建的

asp.net - 如何防止 ASP.NET Web API OData 服务中的发布不足?

javascript - Redis ReJSON 系统地返回两个错误 : missing key at non-terminal path and new object must be created at root

javascript - 在 Jest 中,如何使测试失败?