Как я могу передать несколько методов (с параметрами) как параметр?

Предположим, у меня есть следующий код 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 и повторных попыток но мне не нужно всегда открывать / закрывать клиента после каждого звонка.

Ответы на вопрос(6)

Ваш ответ на вопрос