Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在 ASP.NET Core 中安装 MVC

在 ASP.NET Core 中安装 MVC

作者头像
角落的白板报
发布于 2019-05-15 03:31:23
发布于 2019-05-15 03:31:23
1.6K00
代码可运行
举报
文章被收录于专栏:角落的白板报角落的白板报
运行总次数:0
代码可运行

在ASP.NET Core 中安装 MVC

在本视频中,我们将讨论在 ASP.NET Core 应用程序中设置 MVC。

到目前为止,我们在本系列视频中使用的 ASP.NET Core 项目是使用“空”项目模板生成的。目前这个项目没有设置和安装 MVC。

两个步骤学会在 ASP.NET Core 配置 MVC

步骤 1:在 Startup.cs 文件中的 Startup 类的**ConfigureServices()**方法中,见下方代码。 这行代码将所需的 MVC 服务添加到 asp.net core 中的依赖注入容器中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
services.AddMvc();

步骤 2:在 Configure()方法中,将**UseMvcWithDefaultRoute()**中间件添加到我们的应用程序的请求处理管道中。 修改代码,如下所示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseStaticFiles();

    app.UseMvcWithDefaultRoute();

    app.Run(async (context) =>
    {
        await context.Response.WriteAsync("Hello World!");
    });
}

注意,我们在**UseMvcWithDefaultRoute()中间件之前放置了UseStaticFiles()中间件。 此顺序很重要,因为如果请求是针对静态文件(如图像,CSS 或 JavaScript 文件),则UseStaticFiles()**中间件将处理请求并使管道的其余部分短路。

因此, 如果请求是针对静态文件, 则不会执行**UseMvcWithDefaultRoute () **中间件, 从而避免不必要的处理。

另一方面, 如果请求是 MVC 请求, **UseStaticFiles ()**中间件将把该请求传递给 UseMvcWithDefaultRoute() 中间件, 中间件将处理请求并生成响应。

请注意, 除了UseMvcWithDefaultRoute () 中间件之外, 我们还有**UseMvc ()**中间件。现在, 让我们使用 UseMvcWithDefaultRoute() 中间件。

在我们即将推出的视频中, 当我们讨论路由时, 我们将讨论这两个中间件之间的区别。

此时,如果我们运行应用程序并导航到 URL -http://localhost:49119,我们会看到“Hello World!” 消息显示在浏览器中。

  • 使用管道中配置的 UseMvcWithDefaultRoute()中间件,当我们向 URL 发出请求时 - http://localhost:49119
  • 由于请求不是针对静态文件,因此 UseStaticFiles()中间件会将请求传递给 UseMvcWithDefaultRoute()中间件
  • 由于我们尚未在 URL 中指定控制器和操作方法段,因此 UseMvcWithDefaultRoute()中间件在 HomeController 中查找 Index()方法。
  • 由于目前我们的应用程序中没有 HomeController,因此 UseMvcWithDefaultRoute()中间件将请求传递给使用 Run()方法注册的中间件,因此我们看到“Hello World!” 此中间件生成的消息。

现在让我们看看,如果我们删除 Run()中间件会发生什么。 此时,Configure()方法中的代码必须如下所示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseStaticFiles();

    app.UseMvcWithDefaultRoute();
}

有了上面的代码,如果我们再次向 URL 发出请求 - http://localhost:49119,我们现在看到 404 错误。 这是因为 UseMvcWithDefaultRoute()中间件没有找到带有 Index()动作的 HomeController,并且管道中没有其他中间件,所以我们看到 404 错误。

添加 HomeController

在项目根文件夹中添加 Controllers 文件夹。 在“控制器”中添加一个新的控制器。 复制并粘贴以下代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class HomeController
{
    public string Index()
    {
        return "Hello from MVC";
    }
}

生成解决方案并向应用程序 URL 发出请求 - http://localhost:49119。 现在,您将看到浏览器中显示的字符串 - “Hello from MVC”。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 角落的白板报 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于ASP.NET core的MVC站点开发笔记 0x01
先到上面提供的下载地址,下载对应平台的dotnet装上,然后在命令行窗口输入dotnet --version查看输出是否安装成功。
CN_Simo
2020/07/07
8930
Asp.Net Core中的静态文件-12
在这个视频中我们将讨论如何使 ASP.NET Core 应用程序,支持静态文件,如 HTML,图像,CSS 和 JavaScript 文件。
角落的白板报
2019/05/05
1.5K0
Asp.Net Core中的静态文件-12
ASP.NET Core开发人员异常页面-13
如果我们使用上面的代码运行我们的应用程序,我们看不到异常,而是看到“来自 Default.html 页面中的 Hello”。如果您了解 asp.net Core 请求处理管道的工作原理,那么您可能已经知道我们没有看到我们抛出的异常的原因。
角落的白板报
2019/05/15
8270
ASP.NET Core3.X 终端中间件转换为端点路由运行
前几天.NET Core3.1发布,于是我把公司一个基础通用系统升级了,同时删除了几个基础模块当然这几个基础模块与.NET Core3.1无关,其中包括了支付模块,升级完后静文(同事)问我你把支付删除了啊?我说是啊,没考虑好怎么加上(感觉目前不太好,我需要重新设计一下)。
HueiFeng
2020/01/22
1.1K0
asp.net core 系列之用户认证(1)-给项目添加 Identity
对于没有包含认证(authentication),的项目,你可以使用基架(scaffolder)把 Identity的程序集包加入到项目中,并且选择性的添加Identity的代码进行生成。
Vincent-yuan
2019/09/10
1.2K0
asp.net core 系列之用户认证(1)-给项目添加 Identity
asp.net core 系列之Startup
而在 Program 中,当 host builder 上的 Build 被调用时,应用的 host 被 built 。
Vincent-yuan
2019/09/10
5370
asp.net core 系列之Startup
ASP.NET Core Startup类 Configure()方法 | ASP.NET Core 中间件详细说明
ASP.NET Core 应用使用 Startup 类,按照约定命名为 Startup 。 Startup 类:
痴者工良
2019/08/08
3.6K0
ASP.NET Core Startup类 Configure()方法 | ASP.NET Core 中间件详细说明
ASP.NET Core静态文件的使用方法
静态文件(HTML,CSS,图片和Javascript之类的资源)会被ASP.NET Core应用直接提供给客户端。
米米素材网
2022/07/23
1.5K0
ASP.NET Core静态文件的使用方法
ASP.NET Core 应用程序Startup类介绍
Startup类配置服务和应用程序的请求管道。 Startup 类 ASP.NET Core应用程序需要一个启动类,按照惯例命名为Startup。在主程序的Web Host生成器(WebHostBuilderExtensions)的 UseStartup <TStartup> 扩展方法中指定启动类名称。 您可以为不同的环境定义不同的Startup类,并在运行时选择适当的Startup类。如果在Web Host配置或选项中指定startupAssembly(启动程序集),托管将加载该启动程序集并搜索 Star
晓晨
2018/06/22
9070
IdentityServer4学习及简单使用
要学习IdentityServer,需要了解下基于Token的验证体系,其中涉及到Token, OAuth&OpenID,JWT,协议规范等。
Vincent-yuan
2019/09/10
1.5K0
IdentityServer4学习及简单使用
Asp.Net Core 中间件应用实战中你不知道的那些事
这篇文章主要分享Endpoint 终结点路由的中间件的应用场景及实践案例,不讲述其工作原理,如果需要了解工作原理的同学, 可以点击查看以下两篇解读文章:
Jlion
2022/04/07
8970
Asp.Net Core 中间件应用实战中你不知道的那些事
手把手教你写dotnet core(MVC)
上一篇手把手教你写dotnet core(入门篇)我们已经简单在dotnet core里面跑了个”hello world!”和累加程序.
李国宝
2020/01/02
1.1K0
手把手教你写dotnet core(MVC)
C# .NET面试系列七:ASP.NET Core
在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务:
GoodTime
2024/03/08
4530
C# .NET面试系列七:ASP.NET Core
【ASP.NET Core 基础知识】--中间件--什么是中间件
本篇文章作为中间件单元的开篇文章,通过这篇文章可以了解什么是中间件、内置中间件的使用以及怎么创建自定义中间件。我们先来看一下中间件的角色、目的和重要性。
喵叔
2024/01/14
9891
ASP.NET Core 入门教程 9、ASP.NET Core 中间件(Middleware)入门
本篇代码以下代码进行调整:https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-02
KenTalk
2019/04/01
1.3K0
ASP.NET Core 入门教程 9、ASP.NET Core 中间件(Middleware)入门
ASP.Net Core 5.0 MVC AppSettings配置文件读取,Startup 类中ConfigureServices 方法、Configure 方法的使用
ASP.NET Core 应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:
明志德道
2023/10/21
4840
ASP.Net Core 5.0 MVC  AppSettings配置文件读取,Startup 类中ConfigureServices 方法、Configure 方法的使用
ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore
郑子铭
2021/01/13
7180
ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记
ASP.NET Core 2.1 : 十四.静态文件与访问授权、防盗链
我的网站的图片不想被公开浏览、下载、盗链怎么办?本文主要通过解读一下ASP.NET Core对于静态文件的处理方式的相关源码,来看一下为什么是wwwroot文件夹,如何修改或新增一个静态文件夹,为什么新增的文件夹名字不会被当做controller处理?访问授权怎么做?
FlyLolo
2018/12/18
1.4K0
ASP.NET Core 中间件(Middleware)详解
什么是中间件(Middleware)? 中间件是组装到应用程序管道中以处理请求和响应的软件。 每个组件: 选择是否将请求传递给管道中的下一个组件。 可以在调用管道中的下一个组件之前和之后执行工作。 请求委托(Request delegates)用于构建请求管道,处理每个HTTP请求。 请求委托使用Run,Map和Use扩展方法进行配置。单独的请求委托可以以内联匿名方法(称为内联中间件)指定,或者可以在可重用的类中定义它。这些可重用的类和内联匿名方法是中间件或中间件组件。请求流程中的每个中间件组件都负责调用
晓晨
2018/06/22
1.4K0
.NET Core微服务之基于IdentityServer建立授权与验证服务
  要学习IdentityServer,事先得了解一下基于Token的验证体系,这是一个庞大的主题,涉及到Token,OAuth&OpenID,JWT,协议规范等等等等,园子里已经有很多介绍的文章了,个人觉得solenovex的这一篇文章《学习IdentityServer4的预备知识》言简意赅,可以快速的看看。另外savaboard的《ASP.NET Core 之 Identity 入门(一)》和《ASP.NET Core 之 Identity 入门(二)》这两篇也可以一看,对Claims和Identity的基本知识讲的比较通俗易懂,深入浅出,有故事情节,哈哈。
Edison Zhou
2018/08/07
1.8K0
.NET Core微服务之基于IdentityServer建立授权与验证服务
推荐阅读
相关推荐
基于ASP.NET core的MVC站点开发笔记 0x01
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验