当前位置:  开发笔记 > 后端 > 正文

ASP.NET中的全局资源与本地资源

如何解决《ASP.NET中的全局资源与本地资源》经验,为你挑选了3个好方法。

我们使用resx文件来本地化我们的Web应用程序.当只有一个页面使用某个短语时,我们通常创建本地resx文件(映射到特定页面);当多个页面需要短语时,我们通常创建全局resx文件.
但是关于全局resx文件的好处是它们是一个类,你可以像调用类的属性一样调用这些短语:

Resource.UI.iNotFound

所以我在想 - 为什么要有本地resx文件呢?为什么不为整个应用程序使用一个全局resx文件,这样可以避免运行时错误调用不存在的短语?

我确信这是一个很好的答案,我只是不知道它是什么......



1> Lea Cohen..:

我一直在寻找指南,并在MSDN中找到了这个:

在全局和本地资源文件之间进行选择

您可以在Web应用程序中使用全局和本地资源文件的任意组合.通常,当您要在页面之间共享资源时,可以向全局资源文件添加资源.当您要以编程方式访问文件时,还会强烈键入全局资源文件中的资源.

但是,如果将所有本地化资源存储在其中,则全局资源文件可能会变大.如果多个开发人员在不同的页面上工作但在单个资源文件中,则全局资源文件也可能更难管理.

本地资源文件使管理单个ASP.NET网页的资源变得更加容易.但是你不能在页面之间共享资源.此外,如果您有许多必须本地化为多种语言的页面,您可能会创建许多本地资源文件.如果站点很大且包含许多文件夹和语言,则本地资源可以快速扩展应用程序域中的程序集数量.

当您对默认资源文件(本地或全局)进行更改时,ASP.NET会重新编译资源并重新启动ASP.NET应用程序.这可能会影响您网站的整体效果.如果添加卫星资源文件,则不会导致重新编译资源,但ASP.NET应用程序将重新启动.

因此,似乎由编程团队来衡量每种方法的优缺点并选择对他们有益的东西.



2> user74207..:

Joe90 - 我不得不说,根据我的经验,我不能同意管理分散在整个项目中的大量本地资源文件比管理一个全局资源文件更容易.没有什么可以阻止一次又一次地重复相同的翻译,并且它们很难被追踪.访问全局资源文件非常容易在团队中进行协调,并且多个用户可以一目了然地看到他们所需的翻译是否已经完成.

我开始了与完全相同的政策LEA - 即具有本地资源文件开始,然后如果它被引用多次提出这个全局资源文件.这很快就成了麻烦事管理的负荷,我已经因为搬到了现在使用的全球资源文件每次.

目前似乎并没有被微软作为最佳实践是什么,甚至,怎么这两个方法,这样我们就可以大胆地猜测任何明确的指导方针!

猜测比较/回报是本地资源文件只要求它们与文件重新编译到,而不断变化的全球资源文件似乎需要整个网站的重新编译-与会话状态等的固有损耗所以需要在更新期间服用网站离线是安全的.



3> Anders Lunds..:

我在一个产品上有一个至少10个开发人员的开发团队,我们正在为每个站点使用一个全局resx.

合并这个大的resx文件的问题在我看来应该不是问题.

如果您有10位自己在网站上设置语言的开发人员,您如何获得统一的方式在网站上表达自己?开发人员往往倾向于擅长代码而不是语法表达.(我自己是开发人员.)

语言专家应该编辑resx文件并为开发人员锁定它!

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有