2010-02-28 5 views
4

저는 현재 스레드 온 서버가 클라이언트 문화를 인식 할 수 있도록 WCF 서비스를 호출하는 좋은 방법을 찾고 있습니다. 웹상에서 주제를 읽는 데 며칠을 보낸 후에 가장 좋은 방법은 WCF 메서드의 매개 변수 목록에 (string clientCulture)를 추가하는 것입니다. 더 이상 :Silverlight - WCF 서비스에 대한 호출을 어떻게 현지화합니까?

문자열 HelloWorld();

그러나 :

문자열 HelloWorld (string clientCulture);

내가 틀렸 으면 좋겠다. 나는 이것을 더 잘하는 방법을 보여 줄 제안을 환영한다. 이상적으로 나는 다음을 할 수있을 것입니다 :

 
WcfService srv = new WcfService(); 
srv.Endpoint.Address = new System.ServiceModel.EndpointAddress(
    ConfigConstants.ROOT + "Services/WcfService.svc"); 
// influence address as you are influencing address 
srv.Culture = new System.Globalization.CultureInfo("fr-FR"); 
// and every call to server from now on would pass that 
// culture parameter either in header or body of SOAP message to server 

이 주제에 대한 도움에 미리 감사드립니다!

답변

1

무차별 대입 방식은 각 호출마다 전달할 클라이언트 문화권에 매개 변수를 추가하는 것입니다.

그러나 더 우아한 해결책은 클라이언트와 서버 측에서 동작을 만드는 것입니다.

클라이언트 쪽 동작은 클라이언트의 요청에 헤더를 추가하여 CultureInfo 클래스에서 현재 문화권을 가져옵니다.

서버 쪽 동작은 메시지의 머리글을 찾아 서버 측 호출에서 검색 할 수있는 알려진 키와 함께 OperationContext에 추가합니다. 이 동작을 지원하지 않는 원인 '- 큰 소리

+0

... 지금은 어떤 생각이 어떻게 실버 라이트를 사용하여 구현하는 방법? – kape123

관련 문제