接触项目之后,首先需要了解C#生命周期,和java类似,C#里也有一个类似struts.xml的配置文件,位于App_Start文件夹下的RouteConfig.cs

图片来自https://www.cnblogs.com/alunchen/p/6252846.html

1,第一步就是注册路由,类似要在web.xml里配置struts的***,在C#里我们也需要创建Global.asax文件,用来注册路由,这样配置文件才能生效

2,第二步就是在App_Start文件夹下编写RouteConfig.cs文件,只要请求到达都会被路由到对应的控制器
该文件默认配置如下:

public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { action = "Index", id = UrlParameter.Optional }
            );
        }
    }

正因为这样的默认配置,我们请求的url才要写成account/singin,这样请求会跳转到该控制器

3,该控制器的对应action方法处理完之后会将结果(默认是一个Model对象)返回给视图,而这个视图下文件夹是默认和控制器同名的,而视图的名和控制器里的action名是相同的,这样会直接定位。