Como verificar con C# si un archivo existe en un servidor remoto, sin descargar el archivo

Posted by Gabriel on February 26th, 2012

.NET logo

Con este codigo de C# se puede verificar si un archivo existe en un servidor remoto, sin bajarlo.

var request = WebRequest.Create(new Uri("http://www.site.com/file1.zip"));

request.Method = "HEAD";

try
{
	var response = request.GetResponse();
	Console.WriteLine("{0} - {1}", response.ContentLength, response.ContentType);
}
catch (WebException ex)
{
	var resp = (HttpWebResponse) ex.Response;

	if (resp.StatusCode == HttpStatusCode.NotFound)
	{
		Console.WriteLine("File does not exist");
	}

}

La diferencia es el uso del metodo HEAD en lugar de POST o GET. El metodo HEAD regresa exactamente los mismos Headers que un request tipo GET, con la excepcion de que no transfiere el message-body, o en este caso, el contenido del archivo en bytes. Este codigo funciona para verificar la existencia de archivos fisicos, o URLs virtuales (ya que no siempre un URL corresponde a un archivo fisico).

Una vez que obtenemos una respuesta, podemos verificar varias propiedades del archivo, como el tamaño (ContentLength) o el tipo (ContentType). Si el archivo no existe, el Framework va a lanzar una WebException, de la cual tomamos la propiedad Response y le podemos hacer un cast al tipo HttpWebResponse, para poder verificar el error especifico HTTP que el servidor arrojó. Si el codigo es 404, significa que el archivo no existe.

Espero les sirva.

Como ayudar a mejorar el .NET Framework

Posted by Gabriel on April 24th, 2011

Últimamente, Microsoft ha dado mucho peso a las opiniones y sugerencias de los desarrolladores que usan el .NET Framework. Varios líderes de equipo de los diferentes bloques que componen el framework (ASP.NET, Entity Framework, WCF, WPF, etc) han utilizado redes sociales, blog posts y varios otros medios para solicitar retroalimentación de los usuarios de .NET sobre las nuevas funcionalidades del framework que han liberado, o sobre ideas y solicitudes para futuras funcionalidades.

Aquí les dejo las ligas a las páginas donde pueden votar por ideas o solicitudes de funcionalidades nuevas hechas por otros usuarios, o donde hasta ustedes mismos pueden crear una nueva solicitud. Esto ayuda a Microsoft a enterarse de cuales funcionalidades o cualidades nuevas los programadores desean que estén incluidas en el framework.

A votar!

Libros gratis de Visual Studio 2010 y SQL Server 2008 R2

Posted by Gabriel on March 12th, 2011

Visual Studio 2010 Logo

Hace unos días me topé con 2 posts en el blog de Microsoft Press, en el cual publicaron 2 libros totalmente gratis para que cualquier persona pueda descargarlos.

Moving to Microsoft Visual Studio 2010 – Descarga Directa en: PDF o XPS

y

Introducing Microsoft SQL Server 2008 R2 – Descarga Directa en PDF o XPS

Los libros, como los mismos títulos indican, son orientados a introducir solamente las nuevas cualidades y habilidades de Visual Studio 2010 y SQL Server 2008 R2, no tanto de educar totalmente sobre features que ya existían, pero aún así, definitivamente útiles para cualquier persona que esté por empezar a utilizar estas nuevas versiones de ambos programas.

Moving to Microsoft Visual Studio 2010

Links del dia #1

Posted by Gabriel on January 22nd, 2011

Ya que de perdido paso 2 horas al día leyendo artículos técnicos sobre desarrollo de software o cosas relacionadas a sistemas, y durante los últimos 5 años la mayoría de lo que he aprendido ha sido en base a blog posts, he decido empezar una serie de posts recomendado uno o más artículo/posts que haya leído durante ese día, categorizados por tecnología o área.

No se si logre hacer esto diariamente, pero al menos el intento se hará. Aquí estan los primeros artículos interesantes que he leído el día de hoy:

SQL

Introduction to JOINS – Basic of JOINS: Escrito por Pinal Dave, un experto de SQL. Mucha gente no sabe explicar los JOINS en SQL o la diferencia exacta entre ellos, buen artículo.

Personal Improvement

Basic Presentation Skills Training – Notes from Joel Abrahamsson: Parte de mi rol de trabajo es dar algunas presentaciones técnicas, y la verdad es que la mayoría de la gente no somos buenos para esto. Buenas notas y tips de este desarrollador que está tomando un curso al respecto.

.NET / C# / ASP.NET

ALT.Next – ALT.NET es un “movimiento” o “corriente” integrado por varios desarrolladores enfocados en traer las mejores prácticas y herramientas de otras comunidades de desarrollo (Java, Ruby, Python, etc) a la comunidad de Microsoft y .NET en general. Aunque su auge más fuerte ya pasó, este artículo da una idea de hacia donde van.

Desarrollo de Sistemas en General

Metodologies at a GlanceJ.D. Meier, un Principal Program Manager de Microsoft, en el equipo de Patterns & Practices, escribe posts muy útiles constantemente. Este post es un mapa de algunas actividades/artefactos clave en varios procesos de desarrollo de software.

That’s it. Read on.


Copyright © 2007 Gabriel Rodriguez Plancarte. All rights reserved.