문제

첫 번째 다국어 C# 사이트를 개발하고 있으며 하나의 중요한 측면을 제외하고는 모든 것이 잘 진행됩니다. 나는 페이지 뒤의 코드에서 코드로 번역 될 문자열 (일반적으로 단일 단어)을 저장하는 가장 좋은 옵션이 무엇인지 100% 확신하지 못합니다.

사이트의 앞쪽 끝에는 페이지의 문구에 ASP.NET 리소스 파일을 사용합니다. 이 부분은 괜찮습니다. 그러나이 사이트는 XML 호출을 만들고 XML 응답은 영어로만 가능합니다. XML에 의해 반환 될 모든 단어가 다른 언어로 나눌 모든 단어와 함께 Excel 시트를 받았지만이 정보를 저장/액세스하는 방법이 가장 잘 모르겠습니다. 약 80 단어 x 7 언어가 있습니다.

응용 프로그램 실행 시간에 Global.asax 파일에 의해 생성 된 각 언어에 대한 사전 객체를 작성하고 메모리에 저장을 유지하려고 생각합니다. 이 작업을 수행하는 플러스 측면은 사전 객체가 한 번만 만들어야한다는 것입니다 (IIS가 다시 시작될 때까지)은 재건 할 필요없이 모든 사용자가 액세스 할 수 있지만 단점은 메모리에 지속적으로 저장된 7 개의 사전 객체가 있다는 것입니다. 서버는 4GB의 RAM이있는 WIN 2008 64 비트 이므로이 방법을 사용하여 메모리에 관심을 가져야합니까?

모든 사용자가 사용할 다른 언어 단어를 저장/검색하는 가장 좋은 방법은 무엇이라고 생각하십니까?

입력 해 주셔서 감사합니다.

부자

도움이 되었습니까?

해결책

당신이 말한 바에 따르면, 당신은 로케일을 기준으로 다른 560 단어를보고 있습니다. 이것은 바다에서 떨어지는 것입니다. 당신이 고려한 리소스 파일 방법은 목적에 적합하며 사용하는 것이 좋습니다. 그들은 컨트롤과 통합되어 당신이 그들로부터 최대한 활용할 것입니다.

문제가 발생했다면 슬라이딩 캐시, 즉 20 분의 슬라이딩 캐시를 입을 수 있지만이 솔루션에서 선택한 것은 아무런 문제가 없습니다.

오모

건배,

앤드류

추신 :이를 통해 다른 리소스 파일에서 값을 찾아서 바인딩하는 방법을 확인하여 컨트롤 및 리터럴을 제공하고 프로그래밍 방식으로 사용하는 방법을 확인하십시오.

http://msdn.microsoft.com/en-us/magazine/cc163566.aspx

다른 팁

당신이 그렇게하는 데 영향을 미친다는 것을 알고있는 한, 그렇습니다.이 데이터를 메모리에 저장하는 것은 괜찮을 것입니다 (그렇게하기에 충분한 한). 현재 사용자에게 적합한 것이 무엇인지 알게되면 메모리에 던지는 것은 괜찮을 것입니다. 스토리지를 다른 앱 서버에 오프로드하기 위해 Memcached Win32 또는 Velocity와 같은 것을 볼 수 있습니다. 이를 다른 서버로 푸시하거나 앱을 늘릴 때가되면 로컬 애플리케이션에서도 이것을 사용하십시오. 캐싱 레이어에 정의 된 우려 사항이 명확하게 분리되어 있습니다. 그리고 더 많은 언어를 지원할수록 더 많은 언어를 메모리에 저장하는 것입니다. Lone App Server의 메모리에 저장되는 데이터의 양을 주시하십시오. 또한 사용중인 키가 언어에만 해당되는지 확인하십시오. 그렇지 않으면 영어 사용자를 위해 독일어로 메뉴를 저장하고 있음을 알 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top