work off net errors errores error doesn customerrors custom activate asp.net

asp.net - net - Modo CustomErrors="Off"



web config customerrors mode off (29)

Recibo un error cada vez que subo mi aplicación web al proveedor. Debido al modo customErrors, todo lo que veo es el mensaje predeterminado "Error de tiempo de ejecución", que me indica que apague customErrors para ver más sobre el error.

Exasperado, he configurado mi web.config para que tenga este aspecto:

<?xml version="1.0"?> <configuration> <system.web> <customErrors mode="Off"/> </system.web> </configuration>

y aún así, todo lo que recibo es la estúpida página de errores remotos sin información útil. ¿Qué más puedo hacer para desactivar CustomErrors?


"Off" distingue entre mayúsculas y minúsculas.

Verifique si la "O" está en mayúsculas en su archivo web.config, lo he sufrido varias veces (tan simple como parece)


¿Está esta aplicación web configurada debajo de cualquier otra aplicación en el árbol de directorios de un sitio web? Compruebe cualquier archivo web.config principal para otras configuraciones, si las hay. Además, haga que su directorio se establezca como un directorio de aplicaciones en IIS.


¿Tienes algún personaje especial como æøå en tu web.config? Si es así, asegúrese de que la codificación esté configurada en utf-8.


A fin de agregar más situaciones a esta pregunta (porque aquí es donde miré porque tenía el mismo problema), aquí está mi respuesta:

En mi caso, corté / pegué el texto del error genérico que decía si desea ver lo que está mal, coloque

<system.web> <customErrors mode="Off"/> </system.web>

Así que esto debería haberlo arreglado, pero por supuesto que no! Mi problema fue que había un nodo <system.web> varias líneas arriba (antes de un nodo de compilación y autenticación), y una etiqueta de cierre </system.web> unas pocas líneas debajo de eso. Una vez que corregí esto, OK, problema resuelto. Lo que debería haber hecho es copiar / pegar solo esta línea:

<customErrors mode="Off"/>

Esto es de los anales de Cosas estúpidas que hago una y otra vez, en el capítulo titulado "Copia y pega tu camino a la destrucción".


Acabo de tratar un tema similar. En mi caso, la versión predeterminada del sitio asp.net era 1.1 mientras intentaba iniciar una aplicación web 2.0. El error fue bastante trivial, pero no quedó claro de inmediato por qué los errores personalizados no desaparecieron y el tiempo de ejecución nunca se escribió en el registro de eventos. La solución obvia fue hacer coincidir la versión en la pestaña Asp.Net de IIS.


Asegúrate de agregar justo después de system.web

Lo puse hacia el final del nodo y no funcionó.


En general, puede encontrar más información sobre el error en el Visor de eventos, si tiene acceso a él. Es posible que su proveedor también haya evitado que se muestren los errores personalizados, ya sea anulando en su machine.config, o configurando el atributo minorista en verdadero ( http://msdn.microsoft.com/en-us/library/ms228298(VS.80).aspx ).


En realidad, lo que descubrí al alojar mi aplicación web es que el código que desarrolló en su Máquina local es de una versión más alta que la que le ofrece la compañía de hospedaje. Si tiene privilegios de administrador, puede cambiar la compatibilidad de la versión de Microsoft ASP.NET en la configuración de alojamiento web


Eso es realmente extraño. Recibí este error y después de reiniciar mi servidor desapareció.


Esto me ha estado volviendo loco durante los últimos días y no pude evitarlo, pero finalmente lo he descubierto:

En mi archivo machine.config tenía una entrada en <system.web> :

<deployment retail="true" />

Esto parece anular cualquier otra configuración de CustomError que haya especificado en un archivo web.config, por lo que la entrada anterior se establece en:

<deployment retail="false" />

ahora significa que puedo volver a ver los mensajes de error detallados que necesito.

El machine.config se encuentra en

32 bits

%windir%/Microsoft.NET/Framework/[version]/config/machine.config

64 bits

%windir%/Microsoft.NET/Framework64/[version]/config/machine.config

Espero que ayude a alguien y ahorre unas horas de tirar el pelo.


Habiendo probado todas las respuestas aquí, resultó que mi método Application_Error tenía esto:

Server.ClearError(); Response.Redirect("/Home/Error");

La eliminación de estas líneas y la configuración solucionó el problema. (El cliente todavía fue redirigido a la página de error con customErrors="On" ).


He tenido el mismo problema, y ​​la causa fue que IIS ejecutaba ASP.NET 1.1, y el sitio requería .NET 2.0.

El mensaje de error no hizo más que desviarme del camino durante varias horas.


He tenido el mismo problema, y ​​revisé el registro de la aplicación del Visor de eventos donde se menciona claramente debido a qué excepción ocurrió esto. En mi caso la excepción fue la siguiente ...

Información de excepción:

Exception type: HttpException Exception message: The target principal name is incorrect. Cannot generate SSPI context. at System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) The target principal name is incorrect. Cannot generate SSPI context.

Acabo de actualizar mi contraseña en el grupo de aplicaciones y funciona para mí.


Intente reiniciar la aplicación (crear un app_offline.htm que eliminarlo) y si sigue recibiendo el mismo mensaje de error, asegúrese de que solo haya declarado customErrors una vez en el archivo web.config, o algo así. Los errores en el archivo web.config pueden tener un impacto extraño en la aplicación.


La única respuesta que realmente funcionó para solucionar esto encontré aquí: https://.com/a/18938991/550975

Solo agrega esto a tu web.config :

<configuration> <system.webServer> <httpErrors existingResponse="PassThrough"/> </system.webServer> <configuration>


Mi problema fue que tenía esto definido en mi configuración web

<httpErrors errorMode="Custom" existingResponse="Replace"> <remove statusCode="404" /> <remove statusCode="500" /> <error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" /> <error statusCode="500" responseMode="ExecuteURL" path="/Error/Internal" /> </httpErrors>


Para las aplicaciones de Sharepoint 2010, también debe editar C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/TEMPLATE/LAYOUTS/web.config y definir <customErrors mode="Off" />


Para mí fue un error más arriba en el web.config sobre el system.web.

el archivo blah no existía, por lo que estaba generando un error en ese momento. Debido a que aún no había llegado a la sección System.Web, aún estaba usando la configuración predeterminada del servidor para CUstomErrors (Activado)


Probé la mayoría de las cosas que se describen aquí. Estaba usando VWD y el archivo web.config predeterminado contenía:

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors>

Cambié mode = "RemoteOnly" a mode = "Off". Todavía no hay alegría. Luego utilicé el administrador de IIS, las propiedades, la pestaña ASP.Net, la configuración de edición, luego elegí la pestaña CustomeErrors. Esto todavía mostraba RemoteOnly. Cambié esto a Off y finalmente pude ver los mensajes de error detallados.

Cuando inspeccioné web.config vi que había dos nodos CustomErrors en system.web; y acabo de notar que la segunda entrada (la que estaba cambiando estaba dentro de un comentario). Así que trate de no usar el bloc de notas para inspeccionar web.config en un servidor remoto.

Sin embargo, si utiliza la configuración de edición de IIS, se quejará de los errores en web.config. Luego puede descartar todas las respuestas que dicen "¿hay un error de sintaxis XML en su web.config"?


Si aún está recibiendo esa página, es probable que esté explotando antes de pasar la Web.

Asegúrese de que ASP.Net tenga los permisos que necesita para cosas como las carpetas de .Net Framework, la metabase de IIS, etc. ¿Tiene alguna forma de verificar que ASP.Net esté correctamente instalado y asociado en IIS?

Edit: Después del comentario de Greg, se me ocurrió que asumí que lo que publicaste fue tu web.config mínimo, ¿hay algo más? Si es así puedes publicar todo el web.config?


Si está realizando una transformación de configuración, es posible que también deba eliminar la siguiente línea del archivo web.config correspondiente.

<compilation xdt:Transform="RemoveAttributes(debug)" />


Si está usando la vista previa de MVC 4, podría estar experimentando esto porque está usando el atributo HandleErrorAttribute. El comportamiento cambió en 5 para que no maneje las excepciones si desactiva los errores personalizados.


También asegúrate de que estás editando web.config y no website.config, como estaba haciendo.


También es posible en algunos casos que web.config no esté correctamente formateado. En ese caso, tendrá que pasar por línea por línea antes de que funcione. A menudo, las reglas de reescritura son las culpables aquí.


También nos encontramos con este error y en nuestro caso fue porque el usuario del grupo de aplicaciones ya no tenía permisos para el archivo web.config. La razón por la que perdió sus permisos (todo estaba bien antes) era porque teníamos una copia de seguridad del sitio en un archivo rar y arrastré una versión de copia de seguridad de web.config desde rar al sitio. Esto parece haber eliminado todos los permisos al archivo web.config, excepto para mí, el usuario que inició sesión.

Nos tomó un tiempo resolver esto porque verifiqué repetidamente los permisos en el nivel de la carpeta, pero nunca en el nivel del archivo.


También puede intentar abrir el sitio web en un navegador en la máquina del servidor. No hago mucho desarrollo de ASP.NET, pero recuerdo que los errores personalizados tienen una configuración para mostrar solo el texto de error completo en el servidor, como medida de seguridad.


También tuve este problema, pero cuando uso Apache y mod_mono. Para cualquier otra persona en esa situación, necesita reiniciar Apache después de cambiar web.config para forzar la lectura de la nueva versión.


Tuve el mismo problema pero encontré la resolución de una manera diferente.

-

Lo que hice fue abrir la Configuración avanzada para el grupo de aplicaciones en el Administrador de IIS .

Allí establecí Activar aplicaciones de 32 bits en Verdadero .


Tuvimos este problema y se debió a que el usuario de IIS no tenía acceso a la configuración de la máquina en el servidor web.