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

