Recursos para Desarrollo Web
Un montón de info sobre WEB... aunque no encontré nada de ASP.NET
http://antriksh.com/resources/
Etiquetas: Documentacion
La idea es publicar aquí los tips, rarezas y/o detalles interesantes encontrados mientras desarrollamos aplicaciones.
Un montón de info sobre WEB... aunque no encontré nada de ASP.NET
Etiquetas: Documentacion
Generalmente, la alternativa para capturar errores y mostrarlos mas amigables es la de escribirlo en el Global.asax.
using System;También crearon un template para VisualStudio que muestra como crear estas páginas nuevas, con un par de clases auxiliares.
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
Parece que estos pibes tienen una herramienta para instalar varias versiones del Internet Explorer en una misma máquina....
Etiquetas: Herramientas
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: C#
Desde esta página se pueden bajar add-ins para el Reflector!!!
Etiquetas: Herramientas