zoukankan      html  css  js  c++  java
  • 重新整理.net core 计1400篇[五] (.net core 添加mvc 中间件 )

    前言

    前面提过.net core web实际上是一个服务和若干个中间件组成。

    现在我们有一个服务了,那么可想而知我们要完成mvc这种功能,我们需要的就是一个中间件。

    好的,接下来,我们只要添加中间件即可。

    正文

    先来看下我的配置:

    WebHost.CreateDefaultBuilder().UseKestrel().UseUrls("http://0.0.0.0:10052;http://0.0.0.0:10051;").ConfigureServices(services => services.AddMvc())
    	.Configure(app=>app.UseMvc(routes =>
    	{
    		routes.MapRoute(
    			name: "default",
    			template: "{controller=Home}/{action=Index}/{id?}");
    	})).Build().Run();
    

    看着两个:ConfigureServices和 Configure

    第一个什么意思呢?

    配置服务?其实就是注入服务,比如我们需要mvc功能,那么我们需要将这个服务添加进入。

    第二个什么意思呢?

    比如说我们注入了服务,但是是默认配置啊,我希望呢,为一些配置制修改。

    app=>app.UseMvc(routes =>
    	{
    		routes.MapRoute(
    			name: "default",
    			template: "{controller=Home}/{action=Index}/{id?}");
    	}
    

    这一段是不是特别的熟悉呢?

    没有看错就是在配置我们的路由。

    好的,接下来就开始写我们的代码吧。

    我把我的目录截取一下:

    来看下这个HomeController:

    public class HomeController:Controller
    {
    	public IActionResult Index()
    	{
    		return View();
    	}
    }
    

    这下更熟悉了吧。

    我们知道视图的位置在:"{ContentRoot}Views{ControllerName}{ViewName}.cshtml"

    所以我根据规则建立了相应的试图:

    @{
        Layout = null;
    }
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>index</title>
    </head>
    <body>
        home index
    </body>
    </html>
    

    启动起来:

    效果就是这样了。

    在.net core web中实际上和原来我们的mvc不同。

    请再看我的目录:

    目录中的内容如下:

    public class HelloController
    {
    	[HttpGet("/hello/{name}")]
    	public string hello(string name)
    	{
    		return name;
    	}
    }
    

    那么我启动起来:

    说明两个问题,一个问题就是其实中间间扫描的整个目录下的后缀为Controll的class,第二个就是不一定我们非要去继承controller这个class,这个一般用来处理视图的。

  • 相关阅读:
    Jquery+Ajax+Bootstrap Paginator实现分页的拼接
    推荐一款在线工具-程序员的工具箱
    推荐一款在线工具-程序员的工具箱
    Jquery+Ajax+Bootstrap Paginator实现分页的拼接
    JSP 基础语法
    jsp九大内置对象及四个作用域
    jdk 版本不一致导致的错误
    java虚拟机内存模型
    java 内存简介
    B2C
  • 原文地址:https://www.cnblogs.com/aoximin/p/12888620.html
Copyright © 2011-2022 走看看