[英]IIS Express Worker has stopped working when running tests
我有针对已启动的IIS Express服务器运行的集成测试。 在我其他团队成员的计算机上,这些测试运行良好。 但是,在我的计算机上,IIS Express在测试运行过程中崩溃,从而导致之后的所有测试失败。
我很快就精疲力尽了,没有重新格式化硬盘并擦掉行星表面上的所有东西的方法-这似乎很极端,但是如果那是我唯一的选择,那就这样吧。
更新资料
这是事件查看器中显示的错误:
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.