Asp.net mvc 4 对IIS(MVC4应用程序)的请求在管道(ExtensionlessUrlHandler-Integrated-4.0中)内等待10秒后才能到达控制器

Asp.net mvc 4 对IIS(MVC4应用程序)的请求在管道(ExtensionlessUrlHandler-Integrated-4.0中)内等待10秒后才能到达控制器,asp.net-mvc-4,iis,iis-7.5,Asp.net Mvc 4,Iis,Iis 7.5,环境:IIS 7.5。NET 4.5.1。WINDOWS 2008 R2 SP1集成模式 我有一个MVC应用程序在上述环境中工作。处理我的一些请求大约需要15秒。它与控制器的动作活动或视图渲染无关。对于返回带有一个常量字符串的视图的操作或JSON结果操作,也会发生这种情况。 在控制器操作的日志中,我可以看到请求开始执行的时间比我在浏览器端的fiddler中看到的要晚10秒左右。 我用失败的请求跟踪分析了该请求,结果发现该请求被困在IIS的内脏中。这是这次唯一的请求,有很多空闲内存和处理器时间。

环境:IIS 7.5。NET 4.5.1。WINDOWS 2008 R2 SP1集成模式

我有一个MVC应用程序在上述环境中工作。处理我的一些请求大约需要15秒。它与控制器的动作活动或视图渲染无关。对于返回带有一个常量字符串的视图的操作或JSON结果操作,也会发生这种情况。 在控制器操作的日志中,我可以看到请求开始执行的时间比我在浏览器端的fiddler中看到的要晚10秒左右。 我用失败的请求跟踪分析了该请求,结果发现该请求被困在IIS的内脏中。这是这次唯一的请求,有很多空闲内存和处理器时间。 事实证明,耗时约10秒的事件始终是使用ExtensionlessUrlHandler-Integrated-4.0的事件。然后,下一个事件将在大约10秒后出现

这些failerd请求的共同点是它们作为AJAX请求发出,但在处理它们时,没有其他打开的请求,因此并发性不是问题

这种延误的原因是什么

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>4</Level>
<Opcode>43</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2014-03-28T15:44:19.663Z"/>
<Correlation ActivityID="{00000000-0000-0000-0703-0080000000FC}"/>
<Execution ProcessID="9308" ThreadID="3504"/>
<Computer>COMP1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-0703-0080000000FC}</Data>
<Data Name="OldHandlerName"></Data>
<Data Name="NewHandlerName">ExtensionlessUrlHandler-Integrated-4.0</Data>
<Data Name="NewHandlerModules">ManagedPipelineHandler</Data>
<Data Name="NewHandlerScriptProcessor"></Data>
<Data Name="NewHandlerType">System.Web.Handlers.TransferRequestHandler</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>HANDLER_CHANGED</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>5</Level>
<Opcode>1</Opcode>
<Keywords>0x100</Keywords>
<TimeCreated SystemTime="2014-03-28T15:44:28.977Z"/>
<Correlation ActivityID="{00000000-0000-0000-0703-0080000000FC}"/>
<Execution ProcessID="9308" ThreadID="3504"/>
<Computer>COMP1</Computer>
</System>
<EventData>
<Data Name="ContextId">{00000000-0000-0000-0703-0080000000FC}</Data>
<Data Name="ModuleName">HttpCacheModule</Data>
<Data Name="Notification">1</Data>
<Data Name="fIsPostNotification">false</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>NOTIFY_MODULE_START</Opcode>
<Keywords>
<Keyword>RequestNotifications</Keyword>
</Keywords>
<freb:Description Data="Notification">BEGIN_REQUEST</freb:Description>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{002E91E3-E7AE-44AB-8E07-99230FFA6ADE}</EventGuid>
</ExtendedTracingInfo>
</Event>

经过九天的努力,问题变得如此微不足道。。。。我的一些控制器不时与其他程序进行通信,并与其他系统进行接口。此程序被放置在我的IIS应用程序的bin目录中。不幸的是,这个程序也在写一个日志文件。。。到bin安装的子目录。bin中可能发生了一些更改,并运行了csc.exe以重新编译更改。因此,教训是:避免在IIS应用程序的BIN目录中写入任何日志!!!