Uso WCF para un sistema de servidor de cliente. Cuando agrego una referencia de servicio a IService en el servidor, se genera una clase proxy ServiceClient. Mi código es el siguiente:Reutilizar una clase de cliente en WCF después de su falla
ServiceClient client = new ServiceClient();
try
{
client.Operation1();
}
catch(Exception ex)
{
// Handle Exception
}
try
{
client.Operation2();
}
catch(Exception ex)
{
// Handle Exception
}
El problema es que si hay una excepción comunicación en la primera convocatoria, los cambios de estado del cliente en fallo, y no sé cómo volver a abrirlo para que el segunda llamada. ¿Hay alguna manera de volver a abrirlo? o debería crear uno nuevo y reemplazar la instancia (¿No parece una manera elegante)?
El problema es que tenemos una función interna que obtiene un delegado a una función en un servidor proxy de servicio, y ejecuta la función repetidamente hasta que no se lanza ninguna excepción de comunicación (nuestra implementación a la reconexión automática). Entonces en esta solución, la función creará una instancia del proxy para cada intento de ejecución, y tendrá que devolver una instancia actualizada a la persona que llama, por lo que no tendrá un proxy cerrado ... Algo feo: -/ – Andy