iisexpress.exe在IsLocalRequest调用中因访问冲突而崩溃

时间:2017-10-17 08:08:36

标签: iis-express

使用新的171010-1400 Windows版本和Visual Studio Update 4,我以前工作的配置变得混乱。正如我从windbg输出中看到的那样,iisexpress.exe在第一次或第二次请求时失败,我想这与设置cookie有关。 我从调试中看到的全部内容如下:

ModLoad: 00007ff9`417a0000 00007ff9`417cb000   C:\WINDOWS\system32\dwmapi.dll
18312 w3wphost!W3WP_HOST::IncrementMessages [w3wphost.cxx @ 4073]:IncrementMessages called
(4a30.4788): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files\IIS Express\IISUTIL2.dll - 
IISUTIL2!IsLocalRequest+0x2e:
00007ff9`02766d5e 0fb702          movzx   eax,word ptr [rdx] ds:00000000`00000000=????

我在哪里可以获得有关此IsLocalRequest调用的更多信息?我想IISExpress.exe不是开源的。

Update1:​​我认为IISUTIL dll不在符号服务器上:

BGHELP: ntdll - public symbols  
        c:\temp\localsymbols\ntdll.pdb\186E113737814D3E2749831F5FE67D621\ntdll.pdb
Symbol search path is: SRV*c:\temp\localsymbols*http://msdl.microsoft.com/download/symbols
Expanded Symbol search path is: srv*c:\temp\localsymbols*http://msdl.microsoft.com/download/symbols

************* Symbol Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       SRV*c:\temp\localsymbols*http://msdl.microsoft.com/download/symbols
SYMSRV:  BYINDEX: 0x16
         c:\temp\localsymbols*http://msdl.microsoft.com/download/symbols
         iisutil2.pdb
         AA5E50675E9E42B0950F0C58B916E2671
SYMSRV:  UNC: c:\temp\localsymbols\iisutil2.pdb\AA5E50675E9E42B0950F0C58B916E2671\iisutil2.pdb - path not found
SYMSRV:  UNC: c:\temp\localsymbols\iisutil2.pdb\AA5E50675E9E42B0950F0C58B916E2671\iisutil2.pd_ - path not found
SYMSRV:  UNC: c:\temp\localsymbols\iisutil2.pdb\AA5E50675E9E42B0950F0C58B916E2671\file.ptr - path not found
SYMSRV:  HTTPGET: /download/symbols/iisutil2.pdb/AA5E50675E9E42B0950F0C58B916E2671/iisutil2.pdb
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/iisutil2.pdb/AA5E50675E9E42B0950F0C58B916E2671/iisutil2.pd_
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/iisutil2.pdb/AA5E50675E9E42B0950F0C58B916E2671/file.ptr

SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  RESULT: 0x80190194
DBGHELP: C:\Program Files\IIS Express\iisutil2.pdb - file not found
DBGHELP: iisutil2.pdb - file not found
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files\IIS Express\IISUTIL2.dll - 
DBGHELP: IISUTIL2 - export symbols

5 个答案:

答案 0 :(得分:3)

就我而言,问题的根源是StackoverflowException。我的输出窗口中没有消息表明此问题。

答案 1 :(得分:1)

根据微软(https://github.com/Microsoft/dotnet/issues/523)的说法: 1)这是httpd.sys中的已知回归,很快将在开发人员构建中修复 2)IIS Express pdbs将不会发布,这是他们“有意识的决定”

答案 2 :(得分:0)

出于历史目的。这是我发生的,因为有一个代码错误。

在我的情况下,尝试使用 AutoMapper.Mapper.Map(model),但未设置映射定义。 同样,此调用是在隐式运算符中进行的:

public static implicit operator DestinyType (ModelType model)
{
      return Mapper.Map <DestinyType> (model);
}

我的替代选择是使用类似的东西:

     public static implicit operator DestinyType (ModelType model)
     {
         var mapper = Mapper.Configuration.FindTypeMapFor <ModelType, DestinyType> ();

         if (mapper == null)
         {
             throw new InvalidOperationException ();
         }

         return Mapper.Map <DestinyType> (model);
     }

答案 3 :(得分:0)

我也遇到这个问题,IIS Express因此错误而关闭。经过一段时间的摸摸,我发现它来自我的一个类中IDisposable的错误实现。

答案 4 :(得分:0)

我遇到此错误消息是因为我将视图命名为“视图”,将其更改为“详细信息”解决了该问题。