ASP.NET MVC基础教程(二):请求过程与Controller解析

0 下载量 82 浏览量 更新于2024-08-31 收藏 110KB PDF 举报
"ASP.NET MVC小结之基础篇(二)" 本文主要涵盖了ASP.NET MVC框架的基础知识,适合初学者了解和学习。以下是文章中的关键知识点: 1. ASP.NET MVC请求过程 在ASP.NET MVC中,当一个HTTP请求到达服务器时,它会经过一系列步骤,最终被路由到相应的控制器(Controller)的Action方法。这一过程包括URL解析、路由匹配、控制器实例化以及Action执行。 2. Controller - 控制器是ASP.NET MVC的核心组件,负责处理客户端请求。 - 一个控制器类必须实现`System.Web.Mvc.IController`接口,通常直接继承自`System.Web.Mvc.Controller`基类。 - 控制器类的名称必须以`Controller`结尾。 - 控制器通过定义不同的Action方法来处理特定的客户端请求。 3. Action - Action是控制器类中的方法,用于执行业务逻辑并返回响应给客户端。 - Action方法的返回值类型通常是`ActionResult`或其派生类型,如`ViewResult`、`JsonResult`等。 - 示例代码展示了定义一个名为`Index`的Action方法,返回`ViewResult`,并在视图中设置`ViewBag`消息。 - 注意事项: - 可供URL访问的Action方法必须是公共(Public)方法。 - 使用`[NonAction]`特性标记的方法不能通过URL直接访问。 - Action方法的名称默认作为Action名,可通过`[ActionName("OtherActionName")]`自定义Action名。 - 同名的Action可以通过`[HttpPost]`、`[HttpGet]`等特性来区分处理不同的HTTP请求方法。 4. ASP.NET Routing(路由) - 路由是ASP.NET MVC中将客户端请求映射到控制器Action的关键机制。 - 路由引擎根据预定义的路由规则解析URL,并决定调用哪个控制器和Action。 - 示例代码展示了如何注册一个简单的路由规则,将默认请求映射到控制器的默认Action。 5. 过滤器(Filters) - 过滤器是一种可重用的代码段,可以应用于控制器或Action,用于执行诸如身份验证、授权、日志记录和异常处理等任务。 - 过滤器可以在请求生命周期的不同阶段运行,如`OnActionExecuting`、`OnActionExecuted`等。 - 过滤器可以通过使用特定的特性(如`[Authorize]`、`[ValidateAntiForgeryToken]`)应用到Action或控制器级别。 总结来说,ASP.NET MVC是一个灵活且强大的Web开发框架,通过Controller、Action和Routing等机制,实现了模型-视图-控制器的设计模式,提供了分离关注点、易于测试和可扩展的架构。对于新手而言,理解这些基础知识是掌握ASP.NET MVC开发的关键步骤。