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.

Design Patterns, Refactoring, AntiPatterns y UML

Posted by Gabriel on April 23rd, 2011

SourceMaking Logo

Patrones de Diseño, UML y Refactoring son conocimientos que cualquier desarrollador de software debe tener. Hace poco me topé con una página llamada SourceMaking, y que todo su contenido es referente y categorizado en esos temas.

Una breve descripción de cada categoría de esta página:

Design Patterns: In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn’t a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.

UML: Unified Modeling Language makes it possible to describe systems with words and pictures. It can be used to model a variety of systems: software systems, business systems, or any other system. Especially notable are the various graphical charts—use case diagrams with their stick figures or the widely used class diagrams.

Refactoring: Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation does little, but a sequence of transformations can produce a significant restructuring.

AntiPatterns: The AntiPattern may be the result of a manager or developer not knowing any better, not having sufficient knowledge or experience in solving a particular type of problem, or having applied a perfectly good pattern in the wrong context.

Si no conoces nada sobre esos temas, o quieres reforzar tus conocimientos…vale la pena dedicarle unas horas a leer el contenido. Espero les sirva.

Curso de ASP.NET MVC 3 de Pluralsight gratis gracias a Microsoft

Posted by Gabriel on March 13th, 2011

Scott Guthrie simplemente sigue produciendo cosas geniales…

Hace unos días, Scott anunció que Microsoft logró un acuerdo con Pluralsight para que abrieran de forma gratuita su curso en linea de ASP.NET MVC 3, pero solo hasta Marzo 18.

El curso sobre los siguientes temas principalmente:

  • Introducción a ASP.NET MVC 3
  • Razor View Engine (ya no se siente mas el spaguetti-code feeling)
  • Controllers
  • Models
  • NuGet (so cool)
  • Dependency Resolucion

Aprovechen y vean el curso. Llevo poco aprendiendo ASP.NET MVC pero ya me gusta suficiente como para dejar WebForms…

Espero les sirva.

Liga: Curso de ASP.NET MVC 3 gratis

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


Copyright © 2007 Gabriel Rodriguez Plancarte. All rights reserved.