Thread.Abort en la aplicación ASP.NET hace que w3wp.exe se bloquee
Por favorno establezca bandera duplicada en esta pregunta - no se trata de "por qué ocurre ThreadAbortException", se trata de "por qué el proceso w3wp.exe finaliza después de ThreadAbortException".
Digamos que tenemos una aplicación web simple con el siguiente ejemplo de código:
protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect("http://google.com");
}
Que de hecho significa algo como (ver¿Response.End () se considera perjudicial?):
protected void Page_Load(object sender, EventArgs e)
{
...response write some data...
System.Threading.Thread.CurrentThread.Abort();
}
En mi máquina (Windows 10 Pro + IIS) este código conduce a la finalización del proceso del grupo IIS con el código de error 0x0 (la redirección no se realiza). En otras máquinas (que NO es Windows 10), este código solo genera una excepción ThreadAborted, pero el proceso continúa funcionando (la redirección se realiza).
¿Alguien puede verificar esta muestra y explicar lo que está pasando?
ACTUALIZAR Aquí algunos registros de eventos de Windows relacionados con este problema.
registro # 1
Se produjo una excepción no controlada y el proceso finalizó.
ID de la aplicación: / LM / W3SVC / 1 / ROOT / AS
ID de proceso: 6700
Excepción: System.Threading.ThreadAbortException
Mensaje: El hilo estaba siendo abortado.
StackTrace: at System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext context) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper (IntPtr rootedObjectsPointer, IntPtr nativeRequestContest. (IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
registro # 2
Faulting application name: w3wp.exe, version: 10.0.10240.16384, time stamp: 0x559f3dad
Faulting module name: KERNELBASE.dll, version: 10.0.10240.16384, time stamp: 0x559f3b2a
Exception code: 0xe0434352
Fault offset: 0x000b3e28
Faulting process id: 0x1a2c
Faulting application start time: 0x01d0e4b1b3ed01cb
Faulting application path: C:\WINDOWS\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\WINDOWS\SYSTEM32\KERNELBASE.dll
Report Id: 23b5298d-3b36-49c7-a294-de9c864b703f
Faulting package full name:
Faulting package-relative application ID: