여러 엔드 포인트가 해결책 일 수 있지만 실제로 사용 된 엔드 포인트를 결정하는 확실한 방법이 필요합니다. WCF REST 서비스의 "연결이 끊어진"특성을 감안할 때 (통신을 수행하고 WCF 특성을 사용하는 비 WCF 유형의 사용을 의미 함)이 경우 서비스 작성시 국가를 지정하는 WebHostFactory를 작성해야합니다 주어진 엔드 포인트에 대해. 어떻게하면 WebOperationCurrent.Current
인스턴스를 검사하여 메서드 서명에 숨겨진 정보에 액세스 할 수 있습니다. 예를 들어 : WebOperationContext
전류를 사용하여 요청에서 그 경로를
Uri requestRoot = WebOperationContext.Current.IncomingRequest.UriTemplateMatch.BaseUri;
if (requestRoot.PathAndQuery.Contains("en-us")) {
// use english locale
}
else if (requestRoot.PathAndQuery.Contains("de-de")) {
// use german locale
}
당신은 실제 국가/언어를 결정하기 위해 더 나은 전략이 필요하지만, 기본적인 아이디어는에 다시 호스트 여러 경로에서 동일한 서비스 및 검사 예. 위의 설명에서
편집 , 나는 당신이 WebOperationContext
를 사용하여 현재 요청에 대한 UserAgent
문자열에 액세스 할 수 추가하고 싶습니다. 따라서 요청 된 언어에 대한 단서를 찾는 정보를 조사 할 수도 있습니다. 하지만 "암시 적"정보는 단서 일 뿐이지 사용자가 원하는 것에 대한 명확한 징후가 결코 없음을 명심하십시오.
사용자의 위치 또는 사용자의 로케일에 대해 이야기하고 있습니까? 그들은 매우 다르다! –
정말 'it'또는 'be'와 같이 앱이 설치 될 때 결정되는 국가 코드입니다. –