En los últimos meses he estado trabajando mucho con servicios WCF. Si bien en el ambiente de desarrollo no he encontrado mayores inconvenientes, si he encontrado algunos a la hora de desplegar los servicios en un ambiente de test/producción (win2003). Dichos inconvenientes se han debido principalmente a las diferencias existentes entre web server de Visual Studio y el IIS 6, existente en Windows 2003.
En más de una ocasión me encontré con servicios que en el ambiente de desarrollo se ejecutaban perfectamente y al desplegarlos en un ambiente de test no. En algunas ocasiones la diferencia estaba en cuestiones de configuración de WCF, mientras que en otras ocasiones en cuestiones relacionadas a la funcionalidad del servicio en sí.
Para poder distinguir rápidamente la causal del error, decidí agregar a cada servicio una operación "Ping" que simplemente, sin recibir parámetro alguno, devuelva la hora actual. De esta forma una vez desplegado el servicio, invocando a la operación Ping yo podía descartar cualquier problema relacionado a la configuración de WCF.
[OperationContract]
public string Ping()
{
return DateTime.Now.ToString();
}
Después de haber aplicado esta receta en reiteradas ocasiones ya la he agregado a mi librito de prácticas útiles para el desarrollo de servicios.
Enjoy it!