3

我正在尝试完全理解这个话题,我不相信我能做到这一点,除非除了当前的推荐之外,我还了解推荐的历史。

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

  1. ASP.NET 1.1 推荐使用 Satellite Assemblies 和 ResourceManager 类
  2. ASP.NET 2.0 切换到建议使用 .resource 文件(未加载到 DLL 中)并通过 HttpContext.GetGlobalResourceObject 访问它们
    • 卫星程序集仍在生成中,但它们是在运行时不可见地创建的。
    • “GetGlobalResourceObject”为您检查 HTTP 标头文化信息,同时还选择了资源。
  3. 强调可测试性的 ASP.NET MVC 恢复到卫星程序集/ResourceManager 类作为访问 I18N 资源的主要建议。
    • 在 ASP.NET 运行时生成附属程序集与尝试访问资源的单元测试框架不兼容。
    • 使用 ResourceManager 需要开发人员做更多的工作(因为他们必须编写代码来检查文化的会话、cookie 或 HTTP 标头信息),但也更灵活,因为 (1) 它允许更多人选择文化不仅仅是 HTTP 标头,并且 (2) 允许单元测试轻松地指示正在使用的文化。

我从上面的摘要中遗漏了哪些重要的细节或警告?我的 MVC 评论仍然被认为是 MVC3(和 MVC4)的“最新”吗?

4

2 回答 2

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 引擎
Html 助手的模式架构
Ajax 助手
路由
单元测试

Asp.Net MVC2

2010 年 3 月 10 日发布

在 .Net 3.5、4.0 和 Visual Studio 2008 上运行& 2010
强类型 HTML 助手意味着基于 lambda 表达式的 Html 助手
模板化助手
支持数据注释 属性
客户端验证
UI 助手,带有自动脚手架和可定制模板
基于属性的客户端和服务器上的模型验证
覆盖 HTTP 方法动词,包括 GET、PUT 、发布和删除
将大型应用程序划分为模块的区域
异步控制器

Asp.Net MVC3

于 2011 年 1 月 13 日发布

在 .Net 4.0 和 Visual Studio 2010 上运行
Razor 视图引擎
改进了对数据注释的支持
远程验证
比较属性
无会话控制器
子动作输出 缓存
依赖解析器
实体框架 代码优先支持
部分页面输出缓存
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 Scaffolding 身份验证过滤器 - 在授权之前运行ASP.NET MVC 管道中的过滤器 MVC 模板中的引导 程序 ASP.NET Web API2














致谢:Shailendra Chauhan 先生

于 2014-03-23T05:09:06.453 回答
0

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

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

于 2012-04-12T09:06:27.953 回答