microTECHing
18Feb/120

Combinar JSs y CSSs en .Net con HttpCombiner

Si estamos buscando algunas técnicas WPO (Web Performace Optimization) para nuestra página web en .Net, tenemos que tener en cuenta la reducción de tiempo de carga que nos ofrece juntar todos los archivos javascript y css en uno solo.

Al realizar una sola llamada al servidor para cada tipo de archivos envés de las N que se puedan estar haciendo, podemos reducir bastante el rendimiento al disminuir el tiempo de carga de la página.

Si esto no lo hacemos manualmente y ademas lo enviamos al servidor con compresión gzip, mejor que mejor.

Para ello, podemos implementar esta sencilla solución que encontrareis en los siguientes enlaces:

Artículo de la msdn.

Artículo de Codeproject.

Hay que tener en cuenta, que si se tenían las css's en una carpeta y las rutas a las imágenes son relativas, al hacer esto no las cogerá, por lo que tendréis que reemplazar dicha ruta relativa como si la css estuviese en el raíz de la aplicación.

8May/112

Capturar todos los errores en una aplicación ASP .Net

La verdad es que algo muy sencillo de hacer y que deberíamos hacer como norma en todas nuestras aplicaciones.

Simplemente tenemos que implementar el método “Application_Error” del “Global.asax.cs” y podremos capturar cualquier error que se produzca en la aplicación aunque no hayamos controlado la Excepción con un Try-Catch.

Una vez capturado el error, podemos mostrarlo en nuestro Log (es aconsejable tener uno), o enviarnos un email con lo que ha pasado, e incluso limpiar el error y hacer como que no ha pasado nada…

Bueno, ahí va el código:

protected void Application_Error(Object sender, EventArgs ea)
{
    string uriFormat = "\r\n\r\nURI: {0}\r\n\r\n";
    string exceptionFormat = "{0}: \"{1}\"\r\n{2}\r\n\r\n";

    StringBuilder message = new StringBuilder();

    if (Request != null)
    {
        message.AppendFormat(uriFormat, Request.Path);
    }

    if (Server != null)
    {
        Exception e;
        for (e = Server.GetLastError(); e != null; e = e.InnerException)
        {
            message.AppendFormat(exceptionFormat, e.GetType().Name, e.Message, e.StackTrace);
        }
    }

    // En este caso, escribimos en nuestro log
    MyAppLogger.Log("** APP ERROR Sin controlar la excepción **\n" + message.ToString());

    //Server.ClearError(); // descomentar esto para cancelar el error
}
Etiquetado con: 2 Comentarios
8May/110

Como crear una aplicación ASP .Net con MVC 3

Últimamente estamos trabajando en una aplicación basada en MVC3 de .Net con Hibernate y Castle y los resultados nos están gustando bastante.

Si queréis empezar a utilizar esta arquitectura, aquí os dejamos el enlace a una sencilla introducción: http://www.codeproject.com/KB/aspnet/ASP_Net_MVC_3.aspx

FYI.

25Mar/110

Expresion regular para comprobar un email

Aquí dejo la expresión regular para comprobar un email en .NET (me imagino que servira en otros lenguajes).


^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$