lunes, 9 de agosto de 2010

LINQ: Excelente plug-in para VS 2008+

Encontré un excelente plug-in para instalar en Visual Studio 2008 el cual permite visualizar de una forma diferente la cadena que se envía a SQL Server una vez ejecutada la expresión o sentencia de LINQ.

Si bien en modo de depuración podemos ver la cadena que se envía al SQL Server, con el plugin es posible visualizar la cadena pero además se puede visualizar los datos que vienen de vuelta desde la base de datos.

Un ejemplo de la nueva ventana de dialogo es la siguiente:

Ventana de Linq Visualizer.

Si hacemos clic en "Execute", veremos el resultado que es devuelto desde la base de datos, por ejemplo:

Ventana con resultados.

El plugin se llama "Linq to Sql Visualizer" y se puede descargar desde la página del creador en linq-to-sql-debug-visualizer.
 

domingo, 4 de julio de 2010

Ubuntu 10.04: ¿Cómo posicionar los botones de la barra de título de la ventana?

Como es sabido, en Ubuntu 10.04, todas las ventanas muestran los botones de configuración de tamaño de la ventana en el lado izquierdo de la barra de título. Este cambio se me hace totalmente incómodo y por suerte la forma para restaurarlo es muy fácil!

Los pasos son los siguientes (forma para expertos):

1- Alt+F2 para abrir el cuadro de diálogo para ejecutar aplicaciones.
2- Digitar gconf-editor
3- Ir a /apps/metacity/general
4- En el lado derecho buscar button_layout
5- Modificar el valor de la cadena button_layout de la siguiente forma

:minimize,maximize,close
Notar que los dos puntos ahora se ponen en el lado izquierdo de la cadena y la palabra close se mueve al final de la cadena.


La otra alternativa pero mucho más fácil es utilizando la herramienta Ubuntu Tweak, y sinceramente es muy buena. Permite configurar infinidad de cosas y preferencias de Linux de forma fácil y que no son visibles para la mayoría de los usuarios. Por consiguiente el uso de comandos queda relegado! Además la aplicación permite la actualización o descarga de nuevos programas.

Para restaurar el posicionamiento de los botones de la barra de título, simplemente, en Ubuntu Tweak, vayan a la sección Escritorio y buscan Configuración de Gestor de Ventanas y en el lado derecho buscan Formato de botones en la barra de título de la ventana. Muestran las opciones Izquierdo - Derecho. Simplemente se escoge derecho y listo.

Ejemplo:

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

domingo, 21 de marzo de 2010

Asp.Net: Insertar un archivo CSS en el HEAD

Alternativa para insertar una hoja de estilos en el HEAD de la página:

Dim Browser As HttpBrowserCapabilities = Request.Browser
If Browser.Type = "IE6" Then
Dim litIE6 As New Literal
litIE6.Text = "<link rel='stylesheet' type='text/css' href='Recursos/css/minaetStyle_ie6.css' />"
Page.Header.Controls.Add(litIE6)
End If

sábado, 20 de marzo de 2010

Asp.Net: Recuperar elementos del HEAD.


Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
Dim ctl As Control
For Each ctl In Page.Header.Controls

If TypeOf (ctl) Is HtmlLink Then
Dim linkTag As HtmlLink = CType(ctl, HtmlLink)
If (linkTag IsNot Nothing) And linkTag.Href.StartsWith("~/") Then
If Request.ApplicationPath = "/" Then
linkTag.Href = linkTag.Href.Substring(1)
Else
linkTag.Href = Request.ApplicationPath & "/" & _
linkTag.Href.Substring("~/".Length)
End If
End If
End If
Next
End Sub


Referencia:

www.mindfly.com