2010-01-08 2 views
0

콘솔 앱에서 호출하는 몇 가지 WCF 서비스가 있습니다.C# WCF, 바인딩 구성 값을 설정하는 일반적인 방법을 만드는 방법

private static void InitRepClient(ref Reporting.ReportingClient rc) 
     { 
      rc.Endpoint.Binding.CloseTimeout = new TimeSpan(12, 0, 0); 
      rc.Endpoint.Binding.ReceiveTimeout = new TimeSpan(12, 0, 0); 
      rc.Endpoint.Binding.SendTimeout = new TimeSpan(12, 0, 0); 
      rc.Endpoint.Binding.OpenTimeout = new TimeSpan(12, 0, 0); 
     } 

내가 대신 어떤 WCF 서비스를 받아 입력 매개 변수를 변경하려면 :

나는 다음과 같이 프로그래밍 방식으로 바인딩 시간 제한을 설정하는 방법이있다. 그래서 각 서비스마다 1 개의 기능을 가질 필요가 없습니다. 입력 매개 변수는 어떤 클래스 유형이어야합니까? 사전에

감사합니다.

답변

2

대신 구성 할 수있는 엔드 포인트를 전달할 수 있습니까?

또한 ref를 통해 인수를 전달할 필요가 없습니다.

1

클라이언트 프록시의 기본 유형은 제네릭 유형 ClientBase<T>입니다. 즉, 다음과 같이 메소드를 일반화해야합니다.

private static void InitClient<T>(ClientBase<T> client) where T : class 
{ 
    client.Endpoint.Binding.CloseTimeout = new TimeSpan(12, 0, 0); 
    client.Endpoint.Binding.ReceiveTimeout = new TimeSpan(12, 0, 0); 
    client.Endpoint.Binding.SendTimeout = new TimeSpan(12, 0, 0); 
    client.Endpoint.Binding.OpenTimeout = new TimeSpan(12, 0, 0); 
} 
관련 문제