LINQ is NOT LINQ To SQL

Posted by Gabriel on July 11th, 2009
.NET Logo

.NET Logo

Los que no sepan que es LINQ...les conviene leer este post, de Justin Etheredge, que aclara las confusiones entre la tecnologia LINQ (Language INtegrated Query) y el ORM LINQ To SQL.

LINQ is NOT LINQ To SQL – Justin Etheredge, CodeThinked

Como escribir archivos temporales en el Framework .NET

Posted by Gabriel on June 14th, 2009

Hace poco estuve optimizando una aplicación web que desarrollé usando .NET 1.1. have muchos años. Y por optimizar me refiero a actualizarla a .NET 3.5 y mejorar la calidad del código, ya que esa aplicación fue desarrollada cuando todavía estaba en la escuela.

Parte de la optimización fue mejorar la funcionalidad de manejar archivos temporales. La aplicación generaba reportes en PDF, y para poder integrar unas gráficas al archivo PDF, primero tenía que guardarlas a disco.

No sé si en esa versión del .NET Framework no existían las nuevas funciones ahora utilizo, o si simplemente no eran tan conocidas, pero en aquel momento tuve que escribir mis propias funciones para obtener un nombre único de archivo (usando Date.Now.Ticks, mezclado con otras variables) y tambien tuve que crear un directorio temporal dentro de la aplicación, para poder escribir los archivos ahi y después borrarlos.

.NET tiene ahora 2 funciones muy buenas para facilitar el trabajo del programador:

1. System.IO.Path.GetTempFileName() - Regresa un string con el path completo de un nombre único para un archivo temporal. Por ejemplo: C:\Documents and Settings\Gabriel\Local Settings\Temp\tmp16A.tmp. Como pueden ver, ni siquiera tuve que molestarme en conseguir el path del folder temporal del sistema. Esta función me regresa todo ya concatenado.

2. System.IO.Path.GetTempPath() – obtiene el nombre del folder (o carpeta, o directorio, como le quieran llamar) temporal del sistema, donde no es necesario tener permisos especiales para poder escribir archivos. Lo cual es una ventaja porque no hay que asegurarse o preocuparse de que el usuario ASPNET tenga privilegios, como antes.

Otra ventaja es que si escribimos nuestros archivos temporales a la carpeta de Archivos temporales del sistema, Windows borrará automaticamente los archivos la próxima vez que el sistema se reinicie. Claro, esto puede servir para Thin Applications (aplicaciones que corren del lado del cliente), pero no debemos confiarnos de esto si estamos ejecutando este código en el servidor, ya que en teoría nunca se reinician, o toman muchísimo más tiempo y podríamos saturar el disco.

Espero les sirva.

WCF: Comparacion de BasicHttpBinding y WSHttpBinding

Posted by Gabriel on May 3rd, 2009

Microsoft .NET Framework

Microsoft .NET Framework

Estoy experimentando con diferentes settings para configurar unos WCF Services y me tope con este articulo…definitivamente interesante para cualquiera que trabaje con Windows Communication Foundation.

El articulo habla sobre las diferencias de seguridad, confiabilidad y estabilidad del binding WSHttpBinding contra el BasicHttpBinding.

WCF : BasicHttpBinding compared to WSHttpBinding at SOAP packet level

Diferencias del .NET Framework entre 32 y 64 bits

Posted by Gabriel on February 11th, 2009
Microsoft .NET Framework

Microsoft .NET Framework

Scott Hanselman publicó un artículo muy bueno explicando algunas diferencias básicas y complejas al utilizar la version x86 (32 bits) comparado con la version x64 (64 bits) del .NET Framework.

La liga es la siguiente

Back to Basics: 32-bit and 64-bit confusion around x86 and x64 and the .NET Framework and CLR


Copyright © 2007 Gabriel Rodriguez Plancarte. All rights reserved.