¿Cómo puedo pasar varios métodos (con parámetros) COMO un parámetro?
Supongamos que tengo el siguiente código WCF:
try
{
ServiceClient proxy = new ServiceClient();
proxy.ClientCredentials.UserName.UserName = "user";
proxy.ClientCredentials.UserName.Password = "password";
proxy.GetData(2);
if (proxy.State = CommunicationState.Opened)
{
proxy.GetData("data");
}
proxy.Close();
}
catch (FaultException ex)
{
// handle the exception
}
Y como me doy cuenta de que el intento ... captura y otra lógica es repetitiva, sin mencionar que configurar una llamada WCF es costoso, quiero enviar muchos "métodos y parámetros" a esta función.
En esencia pasarGetData(2)
yGetData("data")
como una matriz de métodos, y que los resultados se devuelvan de forma asíncrona o síncrona.
¿Cómo lograría esto?
Supongo que podría tener dos objetos 'ref' para manejar los resultados [] y un bloqueo compartido a los resultados []. Sin embargo, no estoy seguro de cómo pasar "métodos con parámetros" como un parámetro a otra función.
Quizás otra forma de ver esto podría ser una serie de punteros de función, a la misma función con diferentes parámetros.
¿Alguien puede empujarme hacia la forma correcta de hacer esto?
Más información:
Estoy haciendo esta preguntaasí que puedo optimizar este enfoque para manejar las excepciones y los reintentos de WCF pero así no siempre tengo que abrir / cerrar el cliente después de cada llamada.