Cierre cliente WCF
un cliente tiene una responsabilidad heredada de cerrar la conexión con gracia. Siempre se recomienda cerrar un cliente proxy. Si el enlace entre un cliente y un servicio es de sesión de capa de transporte, entonces cerrar un proxy es esencial para derribar la conexión entre ambas partes. El servicio tiene un umbral de carga útil definido para las conexiones simultáneas. Si el número de conexiones simultáneas supera este umbral linealmente, entonces el rendimiento general del servicio disminuye exponencialmente. Es por eso que es crucial disponer de la conexión lo antes posible. El cierre del proxy también notifica a la instancia del servicio que ya no está en uso y GC puede recopilarlo (sujeto a la administración de la instancia del servicio). Si el cliente no cierra una conexión, todavía se destruye automáticamente por los tiempos de espera de WCF (que se encuentran en los archivos de configuración).
Abortando cliente WCF
En la situación en la que hay un fallo en la interacción de servicios-cliente, los objetos en ambos extremos son potencialmente totalmente roto. Por lo tanto, no se recomienda usar un proxy después de la excepción. Dadas las sesiones de transporte de uso vinculante de WCF, el cliente después de un error ni siquiera podría cerrarlo (si no hubiera una sesión de capa de transporte, entonces el cliente podría usar o cerrar el proxy, pero esto no es recomendable ya que la configuración de sesiones podría cambio). Entonces, después de que ha ocurrido una falla, la única operación segura es abortar un proxy.
Close es una operación sincrónica, se puede tirar si la sesión de transporte ha sido dañado por un fallo y es una operación de bloqueo hasta que se reciba una respuesta de confirmación de servicio (cierto para algunas fijaciones).
Se ha escrito mucho acerca de este tema, empezar a buscar en: http://stackoverflow.com/questions/2440608/wcf-service-client-lifetime –