【发布时间】:2013-04-15 13:34:02
【问题描述】:
我有一个 WebMethod,用于在初始加载后将一些 HTML 返回到页面中。该方法通过jQuery的ajax方法调用。
一切正常,但是,从这些调用加载请求状态时存在相当严重的性能问题。由于流量很大,CPU 使用率会达到最大值,实际上会扼杀整个网站的响应能力。
使用一个分析器,System.Web.Handlers.ScriptModule.OnPostAcquireRequestState() 被称为罪魁祸首,几乎 100% 的调用持续时间。
另一个分析器调用 System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData)。
所以我可以通过负载测试在本地重现该行为,但由于库中的罪魁祸首,我不知道如何解决它。是否有任何“陷阱”会导致上下文恢复成本高昂?我可以简单地从 WebMethod 中删除上下文吗?
【问题讨论】:
标签: jquery asp.net ajax webmethod