lunes, febrero 26, 2007

Recursos para Desarrollo Web

Un montón de info sobre WEB... aunque no encontré nada de ASP.NET

http://antriksh.com/resources/

Etiquetas:

Capturar errores en ASP.NET

Generalmente, la alternativa para capturar errores y mostrarlos mas amigables es la de escribirlo en el Global.asax.

Acá encontraron otra manera: utilizan un HttpModule que captura el error y redirecciona a una página. Interesante para probarlo


using System;
using System.Web;
using System.Web.Configuration;

namespace Superexpert
{
///
/// Handles all unhanlded exceptions in an application
///
public class FriendlyErrorsModule : IHttpModule
{
public void Init(HttpApplication app)
{
app.Error += new EventHandler(app_Error);
}

///
/// When debug mode is enabled, display
/// friendly error page
///

void app_Error(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
HttpContext context = app.Context;
Exception error = context.Server.GetLastError().GetBaseException();
context.Response.Clear();

CompilationSection compilationConfig = (CompilationSection)
WebConfigurationManager.GetWebApplicationSection("system.web/compilation");

if (compilationConfig.Debug)
context.Server.Transfer("~/FriendlyErrors/Debug.aspx");
else
context.Server.Transfer("~/FriendlyErrors/Public.aspx");
}

public void Dispose()
{
}

}

}
Obviamente, falta codificar las páginas, pero lo que importa es la idea
También crearon un template para VisualStudio que muestra como crear estas páginas nuevas, con un par de clases auxiliares.
Mandé este template a la cuenta de mail del sitio bajo el título "Template Error ASP.NET"


Etiquetas: ,

viernes, febrero 23, 2007

Multiples versiones del IE

Parece que estos pibes tienen una herramienta para instalar varias versiones del Internet Explorer en una misma máquina....

http://tredosoft.com/Multiple_IE

Etiquetas:

miércoles, febrero 21, 2007

Método Response.TransmitFile

Para transmitir archivos a un cliente, generalmente se usaba el siguiente código:

string file = Request.Params["file"];
if (!string.IsNullOrEmpty(file))
{
file = Path.Combine(Server.MapPath("downloads"), Path.GetFileName(file));

Response.Clear();
Response.ContentType = "application/octect-stream";
Response.AddHeader("Content–Disposition", "attachment; filename=foo.xyz");
Response.WriteFile(file);
Response.End();
}

Pero cuando los archivos son muy grandes trae problemas.
En ASP.NET 2.0 existe un nuevo método que soluciona estos problemas


string file = Request.Params["file"];
if (!string.IsNullOrEmpty(file))
{
file = Path.Combine(Server.MapPath("downloads"), Path.GetFileName(file));

Response.Clear();
Response.ContentType = "application/octect-stream";
Response.AddHeader("Content–Disposition", "attachment; filename=foo.xyz");
Response.TransmitFile(file);
Response.End();
}



Etiquetas:

Add-ins para Reflector

Desde esta página se pueden bajar add-ins para el Reflector!!!

http://www.codeplex.com/reflectoraddins

Etiquetas: