ASP.NET MVC国际化的最佳实践(历史)

时间:2012-04-11 22:00:23

标签: asp.net asp.net-mvc internationalization webforms

我正在努力完全理解这个话题,除非我也理解除了当前建议之外的建议历史,否则我不相信我能这样做。

我对这段历史的简要介绍如下,我想知道它是否基本正确?

  1. ASP.NET 1.1建议使用Satellite Assemblies和ResourceManager类
  2. ASP.NET 2.0 switched to a recommendation to use .resource files(未加载到DLL中)并通过HttpContext.GetGlobalResourceObject访问它们
    • 仍在生成附属程序集,但它们是在运行时无形创建的。
    • “GetGlobalResourceObject”完成了为您检查HTTP标头文化信息的工作,同时也选择了资源。
  3. ASP.NET MVC, with it's emphasis on testability, reverted back to satellite assemblies / ResourceManager class as the primary recommendation用于访问I18N资源。
    • 在ASP.NET运行时生成的Satellite程序集与单元测试框架无法兼容,试图访问资源。
    • 使用ResourceManager需要为开发人员更多工作(因为他们必须编写代码来检查文化的会话,cookie或HTTP标头信息),但也更灵活,因为(1)它允许文化是不仅仅是通过HTTP标头选择,(2)允许单元测试轻松决定使用哪种文化。
  4. 上述摘要中遗漏了哪些重要细节或警告?我的MVC评论是否仍然被认为是MVC3(和MVC4)的“当前”?

2 个答案:

答案 0 :(得分:1)

Asp.Net MVC框架的简史

ASP.Net MVC是一个新的框架,建立在Microsoft .Net Framework的顶层,用于开发Web应用程序。该框架实现了MVC模式,有助于提供代码分离,并为测试驱动开发(TDD)提供更好的支持。 Asp.Net MVC是一个轻量级且高度可测试的开源框架,用于构建高度可扩展且设计良好的Web应用程序。以下是ASP.NET MVC Framework的已发布版本历史列表及其功能。

Asp.Net MVC1

发布于2009年3月13日

运行.Net 3.5和Visual Studio 2008& Visual Studio 2008     SP1
带WebForm引擎的MVC模式架构
Html     助手
阿贾克斯助手
路由单元测试

     Asp.Net MVC2

发布于2010年3月10日

 运行.Net 3.5,4.0和Visual Studio 2008& 2010年字体强劲     HTML助手表示基于lambda表达式的Html Helpers
    模板化助手
支持数据注释属性
    客户端验证
具有自动脚手架和辅助功能的UI助手。     可自定义的模板
基于属性的模型验证     客户端和服务器
覆盖HTTP方法动词,包括     GET,PUT,POST和DELETE
用于分区大的区域     在模块中的应用
异步控制器

Asp.Net MVC3

发布日期:2011年1月13日

在.Net 4.0和Visual Studio 2010上运行 剃刀视图引擎
改进了对数据注释的支持
远程验证
比较属性
无会话控制器
儿童行动输出缓存
依赖性解析器
实体框架代码第一支持
部分页面输出缓存
ViewBag动态属性,用于将数据从控制器传递到视图
全局动作过滤器
通过不引人注目的JavaScript,jQuery验证和JSON绑定提供更好的JavaScript支持 使用NuGet在整个平台上提供软件和管理依赖关系 Razor成为Visual Studio的良好Intellisense支持

Asp.Net MVC4

发布于2012年8月15日

运行.Net 4.0,4.5和Visual Studio 2010SP1& Visual Studio 2012
ASP.NET Web API
默认项目模板的增强功能
使用jQuery Mobile的移动项目模板
显示模式
异步控制器的任务支持
捆绑和缩小
支持Windows Azure SDK

Asp.Net MVC5

2013年10月17日发布

运行.Net 4.5,4.5.1和Visual Studio 2013 一个Asp.Net
Asp.Net Identity
ASP.NET脚手架
身份验证过滤器 - 在ASP.NET MVC管道中的授权过滤器之前运行
MVC模板中的Bootstrap
ASP.NET Web API2

信得过:Shailendra Chauhan先生

答案 1 :(得分:0)

卫星装配的一大优势是您不必重新构建应用程序以引入新语言。您可以为新语言创建附属程序集并将其放在应用程序中,ResourceManager将根据文化自动加载它

如果使用.resource文件,则需要重建整个应用程序,并且必须进行另一次部署。