.NET MVC本地化和全球化

时间:2009-06-12 04:53:22

标签: validation model-view-controller web-applications localization web-application-project

我继续使用MVC Web App,现在我介于 DRY (不要重复自己)和脱钩(独立)的概念之间。

我将我的大型网站划分为一个解决方案中的不同项目,正如您在MVC中已经知道的那样,验证是在模型或服务层中完成的,在我的情况下,它在一个不同的项目中而不是持有{ {1}},这就是事情:

如何从其他项目访问App_GLobalResources,以便我可以访问字符串以在服务层中设置模型上的错误?

到目前为止,我创建了一个新项目,例如独立的GLobalResources文件,并将它们编译为设置对DLL的引用,但它不起作用,因为主resx文件是内部或私有。< / p>

我尝试了其中一个自定义工具来公开resx文件(交叉程序集可用),但它也不起作用,因为它抛出:

  

找不到匹配的文化

到目前为止,最好的方法是为Model Project创建一个resx文件并且它运行良好,但我重复相同的字符串两次,一个用于Views(在客户端设置jQuery字符串验证错误)模型验证(服务器端)的另一个,这些给了我解耦的好处,但在这种情况下DRY会发生什么?

任何建议或提示?

1 个答案:

答案 0 :(得分:1)

我决定关注两个separetes resx(用于字符串),一个用于Views&amp;控制器和另一个模型 - >服务层,我使用服务层进行验证,所以我隔离了那个层,这样我可以重用“服务”或(BLL)层,以一种我可以重用它的方式稍后在类似WPF应用程序的东西中,没有任何对视图或控制器的resx的引用。脱钩在这里赢了...... =)