在 BeginProcessRequest() 中究竟发生了什么?(无会话状态)

本文关键字:会话状态 什么 究竟 BeginProcessRequest 发生了 | 更新日期: 2023-09-27 18:35:46

System.Web.Mvc.MvcHandler.BeginProcessRequest()中到底发生了什么?我有一个在Azure上运行的MVC项目,NewRelic显示BeginProcessRequest()的500ms-1500ms。我不使用 SessionState(在 web.config 中<sessionState mode="Off" />)。

我已经看过这个类似的问题:在 BeginProcessRequest() 中会发生什么?

这里到底发生了什么?

谢谢!

在 BeginProcessRequest() 中究竟发生了什么?(无会话状态)

除了与会话状态相关的线程敏捷性之外,还有其他一些因素可能会导致较长的 BeginRequest 时间。

如果 New Relic 无法在事务中获取足够深入/详细的数据,则会将其汇总到 BeginRequest 方法时间。如果时间可以花在数据库或外部服务上,也会发生这种情况。异步活动也证明了这一点,异步活动不能绑定回触发它的事务。

在某些情况下,当

应用程序首次启动时,您可以看到较长的 BeginRequest 时间。对于 Azure 应用程序,可以尝试将应用池的启动模式设置为"始终打开",以查看应用可能必须停止/启动的时间减少,从而导致启动请求较长。

这是一个包含一些附加信息的文档,下面是一个论坛帖子,其中没有会话状态的用户也遇到了类似的问题。