.NET Core的路由知识

首先我们要知道我们.net core的url访问规则
我们所有的请求都是先交给服务器,然后由服务器交给controllers进行处理
所以我们的url命名规则是域名+controller名+action名+参数(可以省略)
在.net core中,如果直接访问域名,默认返回的是系统里的hello world。
我们想让系统访问我们的域名时默认跳到我们想让用户看到得action怎么处理呢?

第一步是先注入MVC服务器组建依赖。

即在Startup.cs文件里添加如下代码
这里我添加MVC依赖的代码有点长,目的是为下文创建默认规则的时候更加方便。
.NET Core的路由知识

第二步是创建默认规则

如下所示,app.UseMvcWithDefaultRoute();这段代码的意思是默认用户访问域名的时候访问名为Home控制器的Index的action。但是这段代码被我注释了。之所以这段代码被我注释掉换成上面的代码,是因为,上面这段代码可以自定义默认访问的的controller名和action名。
.NET Core的路由知识

第三步创建控制器

在解决方案里新建一个名为controllers的文件夹,右击,创建控制器,命名为Home,然后修改下Index的返回值。这里我定义的123.
.NET Core的路由知识
因为我在第二步里创建的规则是访问域名默认访问Home控制器的Index。所以当我们访问域名时,结果就不再是hello world,而是123。
如果需要,还可以修改第二步里面的参数,把默认访问的控制器名和action名改为自己需要的名称。
Tip:因为.net core的2.0版本和3.0版本有区别,所以我在第一步里没有用使用简单的services.AddMvc();注册服务器组建而是选用更复杂的第一步里的代码注册。