什么是 System.Web.Mvc.MvcHandler.ProcessAsyncRequest()?
我正在 NewRelic 中进行一些跟踪,我发现几乎每个请求都包含对“System.Web.Mvc.MvcHandler.ProcessAsyncRequest()”的调用。
此函数调用可能需要 300 毫秒到 100 秒(说真的,100 秒)不等。我尝试搜索 msdn 文档,但 http: 上没有任何内容//msdn.microsoft.com/en-us/library/system.web.mvc.mvchandler.aspx
显然,这里有东西在骗我。
关于为什么需要这么长时间,我有一些理论:
类型推断?我正在使用结构图。
服务器资源问题?
.net 版本不兼容?
asp.net mvc 某种不兼容?
环境:
.net 4
asp.net mvc 3
专用虚拟机
I'm doing some tracing in NewRelic, and I'm seeing almost every single request contains a call to 'System.Web.Mvc.MvcHandler.ProcessAsyncRequest()'.
This function call can take anywhere from 300ms up to 100s (seriously, 100s). I tried to search msdn documentation, but there's nothing on http://msdn.microsoft.com/en-us/library/system.web.mvc.mvchandler.aspx
clearly, something is lying to me here.
I have a few theories as to why this is taking so long:
type inference? I'm using structuremap.
server resource issues?
.net version incompatibility of some sort?
asp.net mvc incomopatibility of some sort?
Environment:
.net 4
asp.net mvc 3
dedicated vm
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当我发现这个问题时,我和@garfbradaz 的想法一样,并查看了 MVC 源代码。这很有趣,因为我发现没有引用
ProcessAsyncRequest
方法。因此,我认为这可能是 New Relic 注入的东西,或者正如你所说,这是转移注意力的东西,有东西在欺骗我们!我关闭了 New Relic,并联系了他们的支持团队。
今天,在 New Relic 团队一位反应迅速且彬彬有礼的成员发了几封电子邮件后,他们回复了我并确认这是一个(某种意义上的)错误。以下是他们的回应:
编辑:下面来自 New Relic 的进一步回复 - 看起来他们已经修复了。
New Relic 的 Nick 对此做出了出色的回应,他们的产品非常有用,所以我没有任何不好的感觉,只是想在这里分享详细信息。
很高兴发现我的 MVC 应用程序中没有幽灵!
目前,我对遇到这些问题的人的建议是关闭 New Relic,直到下一个版本发布。
编辑 2:New Relic 的 Nick 今天给我发了电子邮件 - 他们的最新代理(版本 2.0.9.15) - 现已可用,应该可以解决此问题。
When I found this issue, I thought the same as @garfbradaz and looked through the MVC source. It was interesting, as I found no reference to the
ProcessAsyncRequest
method.Hence, I decided it might be something New Relic were injecting, or as you say, a red herring and something is lying to us! I switched New Relic off, and got in touch with their support team.
Today, after a few emails from an extremely responsive and courteous member of the New Relic team, they got back to me and confirmed it's a bug (of sorts). Here is their response:
EDIT: Further response from New Relic below - looks like they have a fix in place.
Nick from New Relic was excellent in responding to this and their product has been really useful, so I don't have any bad feelings, just thought I'd share the details here.
Very happy to find out there are no ghosts in my MVC app anyway!
For now my advice to anyone having these problems is switch off New Relic until their next release.
EDIT 2: Nick from New Relic emailed me today - their latest agent (version 2.0.9.15) - is now available and should fix this issue.
您是否尝试过下载 MVC 源代码,MVC3 代码可以在这里找到:
http://aspnet. codeplex.com/releases/view/58781
尝试一下并调试您的网站,看看正在做什么 - 并请回报! :)
Have you tried downloading the MVC Source Code, the MVC3 code can be found here:
http://aspnet.codeplex.com/releases/view/58781
Have a did around and debug your site to see whats doing on - and kindly report back! :)
您是否尝试过通过 Nuget 安装 Glimpse 并观看请求?
Hanselman 已就此发表博客
Have you tried installing Glimpse via Nuget and watching the request?
Hanselman has blogged about it