invalid error due como ayuda asp.net iis web-config

asp.net - error - ¿Qué significa existingResponse="PassThrough" en IIS?



outlook 401 unauthorized (1)

Hay tres valores posibles, desde el esquema:

<attribute name="existingResponse" type="enum" defaultValue="Auto"> <enum name="Auto" value="0" /> <enum name="Replace" value="1" /> <enum name="PassThrough" value="2" /> </attribute>

A grandes rasgos, así es como entiendo esto:

PassThrough : deja la respuesta existente sola, siempre que haya una. Es posible que la lógica de su aplicación no devuelva nada. En ese caso, se utiliza la página de error definida aquí.

Automático : utiliza las páginas de error de IIS como se define en este nodo, excepto cuando en asp.net lo configuró:

Response.TrySkipIisCustomErrors = true;

si lo has hecho, se usa la respuesta de tu código.

Reemplazar : siempre usa las páginas de error de IIS, incluso si el desarrollador ha establecido TrySkipIisCustomErrors .

La última opción parece ser la que quieres.

Editar:

Considerar:

existingResponse="PassThrough"

Ahora intenta abrir una página asp.net no existente, verás:

Aunque el recurso no estaba allí, el tiempo de ejecución proporcionó una respuesta, se transfiere al navegador.

Ahora, intente abrir una página html no existente. Esta vez todavía obtenemos un estado 404 pero una página vacía.

cambiando a:

existingResponse="Auto"

la página asp.net falta todavía muestra la página de error asp.net, pero para la página html que falta ahora obtenemos el IIS uno:

Entonces, resumiendo: cuando miramos las páginas html y aspx que faltan con diferentes valores de respuesta existingResponse , obtenemos diferentes páginas de error:

.html-404 .aspx-404 .aspx-500 -------------------------------------------------- Auto IIS asp.net asp.net PassThrough - asp.net asp.net Replace IIS IIS IIS

La documentación dice

existingResponse="PassThrough"

Deja la respuesta intacta si existe una respuesta existente. http://www.iis.net/configreference/system.webserver/httperrors#005

Pero, ¿qué quiere decir eso con "existencia de respuesta existente"?

Por ejemplo, quiero que mi controlador customErrors suprima la respuesta de ASP.NET, para que IIS piense que esa respuesta no existe. ¿Como podría hacerlo?