【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

ASP.NET MVC 2 Preview 1 发布

  • 2009-07-31
  • 本文字数:1513 字

    阅读完需:约 5 分钟

ASP.NET MVC 是既 ASP.NET WebForms 之后,微软推出的 Front Controller 式的 Web 开发模型,它弥补了前者对 HTML 控制能力不足,单元测试较为困难等缺点。更重要的是,ASP.NET MVC 基于 MS-PL 发布,是一个真正的开源框架——且没有任何平台限制,也就是说,您可以在 mono 下使用或开发 ASP.NET MVC 的相关项目。

其实微软在今年 3 月的 MIX 大会上发布 ASP.NET MVC RTM 的时候,就已经公布了部分 ASP.NET MVC 2 的计划,并且在官方代码源中包含的 MvcFutures 项目中实现了 V2 的部分功能雏形。在沉寂了 4 个多月之后,现在微软终于发布了 ASP.NET MVC 2 的 Preview 1 版本,并在论坛中向社区征求反馈意见和建议。令人放心的是,ASP.NET MVC 2 Preview 1 能够与ASP.NET MVC 1.0 RTM 共存,不会影响后者的正常使用。

Scott Guthrie 一如既往地在第一时间内撰写博文,详细而又简单地介绍了 Preview 1 中的新特性。ASP.NET MVC 2 的“主题”是“提高生产力”,Preview 1 的主要功能有:

  • 区域(Area):Area 提供了将 Controller 和 View 分组的功能,这个特性可以构建一个大型应用程序中相互独立的部分。每个 Area 可以独立放在不同的 ASP.NET MVC 项目中,并且由主应用程序共同引用。这个特性可用于应对大型应用程序所带来的复杂性,也使多个团队能够更方便地同时开发同一个应用程序。
  • 数据标记验证(Data Annotation Validation):ASP.NET MVC 2 提供了内置的数据标记验证功能。这个功能利用了.NET 3.5 SP1 中加入的自定义属性(Required,StringLength,Range,RegularExpression 等),并且已经运用在 ASP.NET Dynamic Data 框架与.NET RIA Services 中。利用这一功能,开发人员可以为 Model 或 ViewModel 添加验证规则,ASP.NET MVC 框架则会自动进行数据绑定或 UI 验证。
  • 强类型 UI 辅助方法:ASP.NET MVC V2 包含了新的 HTML UI 辅助方法,它利用了强类型的 Lambda 表达式来操作 View 模板的 Model 对象。这样在编写视图代码时便可以充分获得 IDE 的智能提示。更重要的是,它为视图带来更好的编译期检验能力。
  • 模板化辅助方法(Templated Helper):这一功能可以根据数据类型自动选择相关的模板。例如,在视图中生成一个 System.DateTime 输入功能时,将会运用一个日期选择器模板。这与 ASP.NET Dynamic Data 框架中的 Field Template 有些接近,不过 Preview 1 中的模板化辅助方法是专为 ASP.NET MVC 框架而设计的。

此外,微软还公布了 ASP.NET MVC 2 的路线图。除了 Preview 1 中已经公开的内容之外,Preview 2 中会包括以下功能:

  • 客户端验证:在 Preview 1 中模板化辅助方法及数据标记验证功能的基础上,构建一个客户端验证功能。
  • 强类型输入(input)辅助方法:使用强类型的表达式构建出针对 Model 的输入元素。这些辅助方法还会利用数据标记验证功能来减少错误(如拼写错误)。
  • 强类型链接(link)辅助方法:在 IDE 智能提示的辅助下,使用强类型的表达式来生成面向特定 Controller 和 Action 的链接。
  • 异步 Action:提供开发不阻塞线程的 Action 的方法,这可以显著提升站点的伸缩性,尤其是在需要访问外部资源的情况下。
  • 区域(Area)功能增强:可以在同一个项目中更好地组织应用程序,而不必分拆成多个项目。
  • 其他改进:继续修复 ASP.NET MVC 1.0 及 ASP.NET MVC 2 Preview 1 中已知的问题,并根据用户反馈进行 API 增强,以及一些细微的新功能。

除了 Scott Guthrie 之外, Scott Hanselman 以及 ASP.NET MVC 团队的 Phil Haack 也在博客中介绍了 ASP.NET MVC 2 Preview 1 的情况, MSDN Channel 9 还为“模板化辅助方法”这一重要功能提供了进一步的讲解和演示。更多消息请参考 ASP.NET MVC 2 Preview 1 的 Release Notes ,您还可以下载源代码对其进行深入了解。

2009-07-31 12:083943
用户头像

发布了 157 篇内容, 共 52.1 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

面向对象思想和Java中类的定义

共饮一杯无

Java 面向对象 10月月更

【一Go到底】第十四天---break快速入门

指剑

Go golang 10月月更

2022-10-13:给定一个只包含三种字符的字符串:( 、) 和 *, 写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。 任何右括号 )

福大大架构师每日一题

算法 rust 福大大

最火的物联网技术MQTT,其服务质量QoS的三个级别分别是什么意思,本文一定对您有帮助!

wljslmz

物联网 mqtt QoS 10月月更

Jib使用小结(Maven插件版)

程序员欣宸

Docker 10月月更 Jib

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

Java历史与环境搭建笔记

魏铁锤

10月月更

跟着卷卷龙一起学Camera--一亿像素的好坏01

卷卷龙

ISP camera 10月月更

跟着卷卷龙一起学Camera--一亿像素的好坏03

卷卷龙

ISP camera 10月月更

【从0到1学算法】3.折半查找

Geek_65222d

10月月更

变量与常量介绍笔记

魏铁锤

10月月更

跟着卷卷龙一起学Camera--一亿像素的好坏02

卷卷龙

ISP camera 10月月更

架构实战营模块 3 作业

陌生流云

架构实战营

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析01

桑榆

源码刨析 10月月更 C++

「Hive进阶篇」二、万字长文超详述hive企业级优化

大数据阶梯之路

大数据 hive 面试 hive优化

大数据ELK(二十四):安装Kibana

Lansonli

10月月更 安装Kibana

为什么编程第一课都要学Hello World?

博文视点Broadview

Sass入门使用指南

小鑫同学

前端 Node 10月月更

「Hive进阶篇」一、详解存储格式及压缩方式

大数据阶梯之路

大数据 hive 面试 数仓

C++使用protobuf嵌套结构体总结

中国好公民st

c++ protobuf 10月月更

Python进阶(二十)Python爬虫实例讲解

No Silver Bullet

Python 数据分析 10月月更

JVM诊断工具中的深堆、浅堆、支配树,你都明白吗

JAVA旭阳

Java JVM 10月月更

React循环DOM时为什么需要添加key

beifeng1996

React

Java编程之数组

魏铁锤

10月月更

腾讯云继续加码布局云原生,将披露全新产品战略

科技热闻

不同的子序列 II

掘金安东尼

算法 10月月更

Python进阶(十九)Python3安装第三方爬虫库BeautifulSoup4

No Silver Bullet

Python 字符串 10月月更 BeautifulSoup4

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

Java对象的使用和对象内存图解

共饮一杯无

Java 对象 10月月更

金九银十前端面试题总结(附答案)

loveX001

JavaScript

微信朋友圈架构设计

风行

架构 架构实战训练营9期

ASP.NET MVC 2 Preview 1 发布_.NET_赵劼_InfoQ精选文章