은 가정하자 나는 다음 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
}
그리고 나는 시도 ... 캐치와 다른 논리가 반복적 것을 알 때문에, WCF 호출을 설정하는 것은 비싼 언급하지, 내가 보내려 이 기능에 대한 많은 "방법 및 매개 변수".
본질적으로 GetData(2)
및 GetData("data")
을 메소드 배열로 전달하고 비동기식 또는 동 기적으로 결과를 반환합니다.
어떻게하면됩니까?
결과 []와 결과 []에 대한 처리를 처리 할 두 개의 'ref'개체가 있다고 가정합니다. 그러나 "매개 변수가있는 메서드"를 다른 함수의 매개 변수로 전달하는 방법을 잘 모르겠습니다.
아마도이 다른 방법은 다른 매개 변수를 사용하여 동일한 함수에 대한 함수 포인터의 배열 일 수 있습니다.
누구든지이 일을 올바르게 수행 할 수 있습니까?
더 많은 정보는 :
나는이 질문 so I can optimize this approach to handling WCF exceptions and retries을 요구하고 있지만, 그래서 나는 항상 열려/각 호출 후 클라이언트를 종료 할 필요가 없습니다.
무언가를 반환하는 경우에도 Action 버전을 사용할 수 있습니다. 과제를 람다에 포함시킬 수 있습니다. 그것은 위험 할 수 있지만 때로는 그것이 당신이 원하는 것일 수도 있습니다. – Magus
예, 또는 람다 대신 액션에 대한 {} 본문을 가지고 무엇이든 할 수 있으며 액션에서 아무 것도 반환하지 않습니다. 많은 가능성. –
코드가 컴파일되지 않는다고 생각하기 때문에 뭔가 빠졌습니다 ... "Delegate 'System.Func'에 인수가 하나도 없습니다." 메서드 호출과 같이 전달되는 인수를 사용하여 목록에 대리자를 추가 할 수는 없다고 확신합니다. –
evanmcdonnal