繁体   English   中英

IIS Express Worker在运行测试时已停止工作

[英]IIS Express Worker has stopped working when running tests

我有针对已启动的IIS Express服务器运行的集成测试。 在我其他团队成员的计算机上,这些测试运行良好。 但是,在我的计算机上,IIS Express在测试运行过程中崩溃,从而导致之后的所有测试失败。

  1. 我正在运行我知道会在其他所有人的机器上通过的测试,包括我们的构建服务器
  2. 不选择不使用IIS Express,因为这样我的构建环境将与团队的不一致。 此外,这些测试在一周前运行得还不错,所以这应该不是问题。
  3. 我已经卸载并重新安装了Visual Studio 2013.5,但无济于事。
  4. 我已经卸载了IIS 10 Express,并没有安装IIS 8.0 Express。 (我找不到IIS 10 Express的任何下载/安装程序,但这绝对是以前安装在计算机上的内容。)
  5. 我已经完全卸载了Visual Studio 2015,以防与2013安装冲突。 另外,也无济于事。
  6. 我们所有的机器都是相同的版本,所以我知道这不是硬件问题。
  7. 我的机器正在运行Windows 8.1 x64。 该项目是运行.NET 4.5.1的混合ASPX / MVC Web项目

我很快就精疲力尽了,没有重新格式化硬盘并擦掉行星表面上的所有东西的方法-这似乎很极端,但是如果那是我唯一的选择,那就这样吧。

更新资料

这是事件查看器中显示的错误:

ASP.NET 4.0.30319.0,11:36:44 AM

An unhandled exception occurred and the process was terminated.

Application ID: /LM/W3SVC/1/ROOT

Process ID: 6072

Exception: System.Threading.ThreadAbortException

Message: Thread was being aborted.

StackTrace:    at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)

应用程序错误,上午11:36:44

Faulting application name: iisexpress.exe, version: 8.5.9748.0, time stamp: 0x5384d451
Faulting module name: KERNELBASE.dll, version: 6.3.9600.17278, time stamp: 0x53eeb460
Exception code: 0xe0434352
Fault offset: 0x00012f71
Faulting process id: 0x17b8
Faulting application start time: 0x01d0d90283199962
Faulting application path: C:\Program Files (x86)\IIS Express\iisexpress.exe
Faulting module path: C:\WINDOWS\SYSTEM32\KERNELBASE.dll
Report Id: c3187027-44f5-11e5-82a2-a0481c829032
Faulting package full name: 
Faulting package-relative application ID: 

ASP.NET 4.0.30319.0,11:36:48 AM

An unhandled exception occurred and the process was terminated.

Application ID: DefaultDomain

Process ID: 6072

Exception: System.Threading.ThreadAbortException

Message: Thread was being aborted.

StackTrace: 

.NET运行时,上午11:36:48

Application: iisexpress.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Threading.ThreadAbortException
Stack:

应用程序错误,上午11:36:48

Faulting application name: iisexpress.exe, version: 8.5.9748.0, time stamp: 0x5384d451
Faulting module name: KERNELBASE.dll, version: 6.3.9600.17278, time stamp: 0x53eeb460
Exception code: 0xe0434352
Fault offset: 0x00012f71
Faulting process id: 0x17b8
Faulting application start time: 0x01d0d90283199962
Faulting application path: C:\Program Files (x86)\IIS Express\iisexpress.exe
Faulting module path: C:\WINDOWS\SYSTEM32\KERNELBASE.dll
Report Id: c5aab60e-44f5-11e5-82a2-a0481c829032
Faulting package full name: 
Faulting package-relative application ID: 

更新2

捕获优先机会异常并附加到IIS Express进程时,出现以下异常:

A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll

Additional information: Thread was being aborted.

尝试调用context.Response.Redirect("~/ErrorPages/AccessDenied.aspx", true);时会发生这种情况context.Response.Redirect("~/ErrorPages/AccessDenied.aspx", true); 重定向到该页面的其他页面可以成功执行此操作。

更新3

这是关闭“ Just My Code”时的首选机会

第一

System.Globalization.CultureNotFoundException occurred
Message: A first chance exception of type 'System.Globalization.CultureNotFoundException' occurred in mscorlib.dll
Additional information: Culture is not supported.

第二

System.Web.HttpException occurred
  _HResult=-2147024809
  _message=Invalid file name for file monitoring: 'D:\Dev\Git\Qualtrax\Web\Content'. Common reasons for failure include:
- The filename is not a valid Win32 file name.
- The filename is not an absolute path.
- The filename contains wildcard characters.
- The file specified is a directory.
- Access denied.
  HResult=-2147024809
  IsTransient=false
  Message=Invalid file name for file monitoring: 'D:\Dev\Git\Qualtrax\Web\Content'. Common reasons for failure include:
- The filename is not a valid Win32 file name.
- The filename is not an absolute path.
- The filename contains wildcard characters.
- The file specified is a directory.
- Access denied.
  Source=System.Web
  ErrorCode=-2147024809
  WebEventCode=0
  StackTrace:
       at System.Web.DirectoryMonitor.AddFileMonitor(String file)
  InnerException: 

第三

System.Net.Sockets.SocketException occurred
  _HResult=-2147467259
  _message=A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
  HResult=-2147467259
  IsTransient=false
  Message=A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
  Source=System
  ErrorCode=10060
  NativeErrorCode=10060
  StackTrace:
       at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
  InnerException: 

第四

System.IO.IOException occurred
  _HResult=-2146232800
  _message=Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
  HResult=-2146232800
  IsTransient=false
  Message=Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
  Source=System
  StackTrace:
       at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
  InnerException: System.Net.Sockets.SocketException
       _HResult=-2147467259
       _message=A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
       HResult=-2147467259
       IsTransient=false
       Message=A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
       Source=System
       ErrorCode=10060
       NativeErrorCode=10060
       StackTrace:
            at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
            at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
       InnerException: 

第五(这发生在车祸之前):

System.Threading.ThreadAbortException occurred
  _HResult=-2146233040
  _message=Thread was being aborted.

希望其中一些帮助。

事实证明,这个对其他问题的回答解决了我的问题: https : //stackoverflow.com/a/24880514/2689694

简而言之,因为我已经安装了Visual Studio 2015,所以我的IIS配置已被修改为使用其他管道模式。 在我们的代码中,这些重定向往往作为重载传递给true ,这意味着响应将结束-这将引发线程异常中止。 解决的方法是(如链接所讨论的)使用Context.ApplicationInstance.CompleteRequest()而不是重载布尔值。 这意味着它现在将独立于管道模式正常运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM