domingo, 16 de mayo de 2010

ASP .Net: No se ven las imágenes en ThunderBird

En las pruebas de envío de correos con ASP.NET y Visual Basic, ocurre que los mensajes se ven como se espera en GMail, Hotmail y Outlook; funciona perfectamente, sin embargo para ThunderBird el resultado es otro. Las imágenes no se observan y no es por configuración de las opciones de la aplicación.

Solución encontrada:
Había que especificar qué tipo de MIME se usa para cada imagen incrustada en el mensaje de correo con la siguiente línea de código:

Dim imageResource1 As LinkedResource = New System.Net.Mail.LinkedResource(Server.MapPath("imagenes/imagen1.jpg"), MediaTypeNames.Image.Jpeg)

Asp. Net: Tarda en llegar el mensaje de correo de GMail

Estuve averiguando por qué al enviar un mensaje de correo usando código Visual Basic .Net con ASP.Net y noté que al usar como servidor de correos una cuenta de GMail, resulta que éste ralentiza en gran medida la entrega del mensaje a su destinatario.

Y ya averigüé por qué ocurre!. El problema es que al incluir direcciones URL en el mensaje, parece que GMail analiza si esa URL existe y quién sabe qué más cosas hace; el punto es que al quitar la URL del mensaje, la entrega al destinatario se da en un tiempo muy bueno.

Asp .Net: Mantener la sessión de usuario activa.

¿Por qué se pierde la sesión de usuario y cómo lograr que permanezca todo el tiempo hasta que se cierre la sesión?

En el siguiente link encontrarán las respuestas. Sin embargo, yo implementé otra solución con ayuda de "Web Service" estático.

Más referencias:
Ésta es interesante porque lo resuelve con un HttpHandler
Ésta otra solución pero con JQuery

sábado, 1 de mayo de 2010

Asp .Net: Limitar el tamaño de la carga de un archivo

En la sección System.Web poner lo siguiente:

<httpruntime maxrequestlength="10000"></httpruntime>

Estableciendo la regla anterior en el web config de Asp.Net, se estaría indicando que el servidor web solo permite al usuario cargar archivos con una cantidad máxima aproximada de ~10 MB.

El tamaño predeterminado es de 4 MB exactos, osea 4096 KB.


Referencia: astrayalien

Asp.Net: Error con VJSharpCodeProvider y AjaxControlToolkit Resource

Al ejecutar una aplicación web aparece éste error:

Error al cargar el ensamblado con el nombre para mostrar 'AjaxControlToolkit.resources' en el contexto de enlace 'LoadFrom' de AppDomain con ID 2. Error debido a: System.IO.FileLoadException: No se puede cargar el archivo o ensamblado 'AjaxControlToolkit.resources, Version=3.0.30512.20315, Culture=es, PublicKeyToken=28f01b0e84b6d53e' ni una de sus dependencias. La definición del manifiesto del ensamblado no coincide con la referencia al ensamblado. (Excepción de HRESULT: 0x80131040)
Nombre de archivo: 'AjaxControlToolkit.resources, Version=3.0.30512.20315, Culture=es, PublicKeyToken=28f01b0e84b6d53e'
......

Y también éste error:

The assembly with display name 'VJSharpCodeProvider' failed to load in the '
LoadFrom' binding context of the AppDomain with ID 2. The cause of the failure was: System.IO.FileNotFoundException: Could not load file or assembly ...

Para solucionar el primer caso, lo que hice fue descargar el código fuente de la versión 30512 de Ajax, que en lo personal, estoy seguro que es la más estable que he utilizado. Procedí a compilarla, luego tomé el ensamblado de la carpeta Release, también copie el archivo AjaxControlToolkit.pdb para depuración. Los dos archivos los pegué en la carpeta Bin de mí proyecto ASP.Net. Desde Visual Studio 2008, y estando en la carpeta Bin, saco el menú contextual y selecciono "Agregar Referencia ..." y luego busco el ensamblado.

Para el segundo caso, resulta que se corrige instalando "
Microsoft Visual J# Version 2.0 Redistributable Package" el cual se puede descargar desde: http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=F72C74B3-ED0E-4AF8-AE63-2F0E42501BE1&displaylang=en