Depurando un sitio SharePoint à la ASP.NET


Cuando desarrollamos nuestros sitios en SharePoint, a veces cometemos errores y una excepción se lanza. Cuando esto ocurre, SharePoint atrapa la excepción y muestra una página, la cual dice que ha ocurrido un error. Esto es, simplemente, inútil. En ocasiones, necesitamos algo más jugoso que nos diga lo que en realidad aconteció.

El motor de ejecución de ASP.NET muestra una página, famosa, cuando algo así ocurre: con fondo blanco y el mensaje de error en grandes letras rojas, además de mostrar información de depuración, como el rastreo de la pila, en un fondo amarilloso. Ésta sí nos puede dar mayor detalle de lo ocurrido.

Cualquier programador ASP.NET sabe, por supuesto, que el cliente nunca debería ver esta página. Lo normal es que se atrape la excepción, o bien, se diriga al usuario a una página que muestre el menaje de error, posiblemente con la ayuda sobre cómo resolverlo. Pero la página de error de SharePoint es basura pura: no nos sirve. Así, durante nuestro período de desarrollo, y durante las pruebas antes de entregar nuestro proyecto, es posible que queramos ver la buena página de error de ASP.NET.

Bueno, pues para ello, tenemos que hacer tres cosas sencillas.

1.- Abrimos el archivo web.config de nuestro sitio. Siempre es buena idea hacer un respaldo del web.config, por si la regamos.

2.- Buscamos la etiqueta <SharePoint>, dentro de la cual debe existir etiqueta llamada <SafeMode> con un atributo, CallStack, igual a false. Cambiémosla por true.  Algo así debe lucir:

<SharePoint>
    <SafeMode CallStack="true" />
</SharePoint>

3.- Luego, buscamos la etiqueta <system.web>, dentro de la cual existe otra etiqueta llamada <customErrors> con un atributo mode igual a On. Cambiemos dicho valor por Off.

4.- Existe otra etiqueta, igualmente dentro de <system.web>, llamada <compilation> con un atributo debut igual a false. Cambiémosa por true.

<system.web>
    <customErrors mode="Off" />
    <compilation debug="true" />
</system.web>

5.- Guardamos los cambios y estamos listos. Si tarda un poco en tomar efecto, reinicia el IIS mediante un “iisreset /noforce” en la línea de comandos.

Consejo final: no olvides regresar a los valores originales antes de que el sitio sea promovido a un ambiente de producción.

Saludos.

Anuncios
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s