lor*_*ist 22 c# asp.net session asynchronous newrelic
我在分布式ASP.NET Web应用程序中有一个异步处理程序的问题.首先让我解释一个用例:
应用程序通过web.config禁用了会话和身份验证模块
<system.webServer>
....
<modules>
<remove name="WindowsAuthentication" />
<remove name="Session" />
<remove name="FormsAuthentication" />
</modules>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)应用程序使用自定义异步Web处理程序来提供特定请求
所有正常(同步请求)都正常工作,但执行更多工作的异步请求(这就是我们使用异步请求的原因)通常很慢,但NewRelic报告说它因"AcquireRequestState"而变慢.现在我看了谷歌和堆栈溢出,这个事件连接到创建一个会话,但我们在web.config中禁用了会话.有谁知道"AcquireRequestState"还能做什么?我们是否遗漏了删除会话状态的地方?从web.config添加到machine.config没有做任何事情......
以下是NewRelic中请求的片段:
**Slowest components Count Duration % **
AcquireRequestState 1 12,600 ms 100% --> WTF?
ExecuteRequestHandler 1 5.01 ms 0%
Integrated Pipeline 1 0.334 ms 0%
UpdateRequestCache 1 0.3 ms 0%
EndRequest 1 0.168 ms 0%
AuthenticateRequest 1 0.161 ms 0%
Total time 12,600 ms 100%
Run Code Online (Sandbox Code Playgroud)
编辑:我<sessionState mode="Off" />在web.config(<system.web>部分),所以这不是它.
AcquireRequestState 也由Profile Module使用。你尝试禁用它吗?
<modules>
<remove others unwanted modules... />
<remove name="Profile" />
</modules>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2142 次 |
| 最近记录: |