0

MVC 웹 응용 프로그램을 계속 사용하며 지금은 DRY (직접 반복하지 말 것)과 디커플링 (독립)의 개념 사이에 있습니다..NET MVC 현지화 및 세계화

큰 웹 사이트를 솔루션 내에서 다른 프로젝트로 나눴습니다. MVC에서 이미 알고있는 것처럼 모델 또는 서비스 계층에서 이미 유효성 검사가 수행되었습니다. 제 경우에는 해당 프로젝트와 다른 프로젝트에 있습니다. App_GLobalResources 그리고 여기에있는 것이 있습니다 :

다른 프로젝트에서 GLobalResources에 액세스하려면 어떻게해야합니까? 그래서 서비스 레이어의 모델에서 오류를 설정하기 위해 문자열에 액세스 할 수 있습니까?

지금까지는 resx 독립 실행 형 파일과 같은 새 프로젝트를 만들고 DLL에 대한 참조를 설정했지만 기본 resx 파일이 내부 또는 개인이기 때문에 작동하지 않습니다.

나는 RESX 파일 공개 (크로스 조립 avaiblable)를 만드는 그 사용자 정의 도구 중 하나를 시도했지만이 발생하기 때문에이 중 하나가 작동하지 않았다 :

일치하는 문화가

발견

지금까지 모델 프로젝트에 대한 resx 파일을 만드는 것이 가장 좋습니다. 그리고 좋은 결과를 얻었지만 같은 문자열을 Views (클라이언트 측에서 jQuery 문자열 유효성 검사 오류를 설정하기 위해)와 두 번 반복합니다. 모델 유효성 검사 (서버 측)를 사용하면 디커플링의 이점을 얻을 수 있지만이 경우 DRY는 어떻게됩니까?

조언이나 조언이 있으십니까?

답변

1

글쎄, 두 개의 separetes resx (문자열 용), 하나는 Views & 컨트롤러 용이고 다른 하나는 Model-> Service 레이어 용이고, 서비스 레이어를 사용하여 유효성 검사를하고 있기 때문에 그 레이어를 분리했습니다. 방법은 나중에 "보기"또는 컨트롤러의 resx에 대한 모든 참조와 함께 WPF 애플 리케이션과 같은 뭔가를 나중에 재사 용할 수있는 방법으로 "서비스"또는 (BLL) 레이어를 재사용 할 수 있습니다. SO 디커플링이 여기에서 이겼다. =)