重新整理.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,这个一般用来处理视图的。
重新整理.net core 计1400篇[五] (.net core 添加mvc 中间件 )的更多相关文章
- ExpandoObject与DynamicObject的使用 RabbitMQ与.net core(一)安装 RabbitMQ与.net core(二)Producer与Exchange ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler) .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了
ExpandoObject与DynamicObject的使用 using ImpromptuInterface; using System; using System.Dynamic; names ...
- 技术的正宗与野路子 c#, AOP动态代理实现动态权限控制(一) 探索基于.NET下实现一句话木马之asmx篇 asp.net core 系列 9 环境(Development、Staging 、Production)
黄衫女子的武功似乎与周芷若乃是一路,飘忽灵动,变幻无方,但举手抬足之间却是正而不邪,如说周芷若形似鬼魅,那黄衫女子便是态拟神仙. 这段描写出自<倚天屠龙记>第三十八回. “九阴神抓”本是& ...
- .NET Core CSharp初级篇 1-2 循环与判断
.NET Core CSharp初级篇 1-2 本节内容循环与判断 循环 循环是一个在任何语言都是极为重要的语法,它可以用于很多东西,例如迭代数组等等.在C#中,语法层面的循环有:for , fore ...
- SpringMVC4+thymeleaf3的一个简单实例(篇五:页面和MySql的数据交互-展示以及存储)
这一篇将介绍怎样把页面数据保存的MySQL数据库,并将数据库内容展示到页面上.首先做一个基础工作,添加以下jar到lib:1: mysql-connector-Java-5.1.40-bin.jar ...
- 【SSRS】入门篇(五) -- 设置报表格式
原文:[SSRS]入门篇(五) -- 设置报表格式 在上一节 [SSRS]入门篇(四) -- 向报表添加数据 我们设置好了报表,并可以预览到数据,如下图: 当报表完成后,有个重要的工作就是美化报表格式 ...
- 使用Visual Studio Code开发.NET Core看这篇就够了
作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studi ...
- .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了
作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/9985451.html 本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新 ...
- .NET Core CSharp初级篇 1-1
.NET Core CSharp初级篇 1-1 本节内容是对于C#基础类型的存储方式以及C#基础类型的理论介绍 基础数据类型介绍 例如以下这句话:"张三是一名程序员,今年15岁重50.3kg ...
- NET Core CSharp初级篇 1-3面向对象
.NET Core CSharp初级篇 1-3 本节内容为面向对象初级教程 类 简介 面向对象是整个C#中最核心最有特色的一个模块了,它很好的诠释了程序与现实世界的联系. 面向对象的三大特征:继承.多 ...
- .NET Core CSharp初级篇 1-5 接口、枚举、抽象
.NET Core CSharp初级篇 1-5 本节内容类的接口.枚举.抽象 简介 问题 如果你需要表示星期或者是某些状态,使用字符串或者数字是否不直观? 你是否发现,无论何种电脑,它的USB口的设计 ...
随机推荐
- win10图标异常显示空白,WiFi图标消失等情况解决方案
出现WiFi图标异常不显示,但是网络却正常,以下为解决方案: Win + R 快捷键调出运行框,输入%USERPROFILE%\AppData\Local,找到IconCache.db文件并删除,之后 ...
- 第143篇:手写vue-router,实现router-view
好家伙, 今天来手写我们的老伙计vue-router, 1.替换router 新开一个项目,并使用我们手写的router 2.大致结构 let Vue; // 保存vue的构造函数 cla ...
- vscode 切换项目快捷键 Alt + Shift + P 插件 Project Manager
vscode 切换项目快捷键 Alt + Shift + P 插件 Project Manager 需求 快速切换同时打开的项目 解决方案 Alt + Shift + P 话说这个插件很早就用了,但是 ...
- VS Code Snippet Generator 插件 生成 vscode代码片段
VS Code Snippet Generator 插件 生成 vscode代码片段
- 替换掉Chrome浏览器的新标签页【已做好自己的插件,并提供下载】
https://jingyan.baidu.com/article/fc07f9891b256312ffe5190a.html 我做好了自己的 Chrome 新插件 https://files.cnb ...
- 【预训练语言模型】 使用Transformers库进行BERT预训练
基于 HuggingFace的Transformer库,在Colab或Kaggle进行预训练. 鉴于算力限制,选用了较小的英文数据集wikitext-2 目的:跑通Mask语言模型的预训练流程 一.准 ...
- Review Book for GEE(Graduate Entrance Examination)
English is made up of phrases and idioms, in the case of both written and spoken usage. When learnin ...
- 风控规则引擎(一):Java 动态脚本
风控规则引擎(一):Java 动态脚本 日常场景 共享单车会根据微信分或者芝麻分来判断是否交押金 汽车租赁公司也会根据微信分或者芝麻分来判断是否交押金 在一些外卖 APP 都会提供根据你的信用等级来发 ...
- 解决jenkins Git Publisher自动打tag的问题
简单配置一下 然后开始构建,然后报错如下 The recommended git tool is: NONE using credential 647ee613-5032-4894-aaeb-fe07 ...
- new vs malloc
https://www.cnblogs.com/qg-whz/p/5140930.html 1.申请内存位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函 ...