Как я могу передать несколько методов (с параметрами) как параметр?
Предположим, у меня есть следующий код 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
}
И так как я заметил, что try ... catch и другая логика повторяются, не говоря уже о том, что установка вызова WCF является дорогостоящей, я хочу отправить много «методов и параметров» этой функции.
По сути пасGetData(2)
а такжеGetData("data")
как массив методов, и результаты возвращаются либо асинхронно, либо синхронно.
Как бы я это сделал?
Я полагаю, у меня может быть два объекта ref для обработки результатов [] и общая блокировка результатов []. Однако я не уверен, как передать «методы с параметрами» в качестве параметра другой функции.
Возможно, другой способ взглянуть на это может быть массив указателей на одну и ту же функцию с разными параметрами.
Кто-нибудь может подтолкнуть меня к правильному способу сделать это?
Больше информации:
Я задаю этот вопростак что я могу оптимизировать этот подход для обработки исключений WCF и повторных попыток но мне не нужно всегда открывать / закрывать клиента после каждого звонка.