共计 3919 个字符,预计需要花费 10 分钟才能阅读完成。
ASP.NET CORE 简介
ASP.NET Core 是一个跨平台的高性能开源框架,用于生成启用云且连贯 Internet 的旧式利用。应用 ASP.NET Core,您能够:
- 生成 Web 利用和服务、物联网 (IoT) 利用和挪动后端。
- 在 Windows、macOS 和 Linux 上应用青睐的开发工具。
- 部署到云或本地。
- 在 .NET Core 上运行。
为何抉择 ASP.NET Core?
ASP.NET Core 具备如下长处:
- 生成 Web UI 和 Web API 的对立场景。
- 针对可测试性进行构建。
- Razor Pages 能够使基于页面的编码方式更简略高效。
- Blazor 容许你在浏览器中应用 C# 和 JavaScript。共享全副应用 .NET 编写的服务器端和客户端应用逻辑。
- 可能在 Windows、macOS 和 Linux 上进行开发和运行。
- 凋谢源代码和以社区为核心。
- 集成旧式客户端框架和开发工作流。
- 反对应用 gRPC 托管近程过程调用 (RPC)。
- 基于环境的云就绪配置零碎。
- 内置依赖项注入。
- 轻型的高性能模块化 HTTP 申请管道。
-
可能托管于以下各项:
- Kestrel
- IIS HTTP.sys
- Nginx
- Apache
- Docker
- 并行版本控制。
- 简化旧式 Web 开发的工具。
应用 ASP.NET Core MVC 生成 Web API 和 Web UI
- ASP.NET Core MVC 提供生成 Web API 和 Web 利用所需的性能:
- Model-View-Controller (MVC) 模式 使 Web API 和 Web 利用可测试。
- Razor Pages 是基于页面的编程模型,它让 Web UI 的生成更加简略高效。
- Razor 标记提供了实用于 Razor Pages 和 MVC 视图的高效语法。
- 标记帮忙程序使服务器端代码能够在 Razor 文件中参加创立和出现 HTML 元素。
- 内置的多数据格式和内容协商反对使 Web API 可拜访多种客户端,包含浏览器和挪动设施。
- 模型绑定主动将 HTTP 申请中的数据映射到操作方法参数。
- 模型验证主动执行客户端和服务器端验证。
客户端开发
ASP.NET Core 与罕用客户端框架和库(包含 Blazor、Angular、React 和 Bootstrap)无缝集成。无关详细信息,请参阅 ASP.NET Core Blazor 简介 和“客户端开发”下的相干主题。
ASP.NET Core 指标框架
与 .NET Framework 相比,.NET Core 的局部劣势包含:
- 跨平台。在 Windows、macOS 和 Linux 上运行。
- 性能更强
- 并行版本控制
- 新 API
- 开源
ASP.NET CORE MVC
ASP.NET CORE 是一个应用 HTML、CSS、JavaScript 和服务器脚本创立网页和网站的开发框架。
ASP.NET CORE 反对三种不同的开发模式:Web Pages(Web 页面)、MVC(Model View Controller 模型 - 视图 - 控制器)、Web Forms(Web 窗体)。
MVC 编程模式
MVC 是三种 ASP.NET CORE 编程模式中的一种。
MVC 是一种应用 MVC(Model View Controller 模型 - 视图 - 控制器)设计创立 Web 应用程序的模式:
Model(模型)示意应用程序外围(比方数据库记录列表)。View(视图)显示数据(数据库记录)。Controller(控制器)解决输出(写入数据库记录)。MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的齐全管制。
MVC 模式定义 Web 应用程序
带有三个逻辑层:
业务层(模型逻辑)
显示层(视图逻辑)
输出管制(控制器逻辑)
Model 是应用程序中用于解决应用程序数据逻辑的局部。通常模型对象负责在数据库中存取数据。
View 是应用程序中解决数据显示的局部。通常视图是根据模型数据创立的。
Controller 是应用程序中解决用户交互的局部。通常控制器负责从视图读取数据,管制用户输出,并向模型发送数据。
MVC 分层有助于治理简单的应用程序,因为您能够在一个工夫内专门关注一个方面。例如,您能够在不依赖业务逻辑的状况下专一于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
创立 Web 应用程序
启动 VS 并抉择 New Project 来新建我的项目,抉择 ASP.NET CORE Web 模板,创立工程
依照我的项目理论需要定义项目名称、源码地位
创立实现的我的项目预览如下
.Net Core 应用程序文件夹
Properties——launchSettings.json
launchSettings.json 文件为一个 ASP.NET Core 利用保留特有的配置规范,用于利用的启动筹备工作,包含环境变量,开发端口等。在 launchSettings.json 文件中进行配置批改,和开发者右键我的项目——属性中所提交的更改的成果是一样的(目前右键属性中的 Property 真是少得可怜),并且反对同步更新。
{
"iisSettings": { #抉择以 IIS Express 启动
"windowsAuthentication": false, #是否启用 windows 身份验证
"anonymousAuthentication": true, #是否启用匿名身份验证
"iisExpress": {
"applicationUrl": "http://localhost:64767", #IIS Express 随机端口
"sslPort": 44377
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}
},
"webpagetest": { #抉择本地自宿主启动,详见 Program.cs 文件。删除该节点也将导致 Visual Studio 启动选项缺失
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000", #本地自宿主端口
"environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}
}
}
}
Startup.cs
在之前的 ASP.NET CORE 启动和运行机制中有介绍 Program.cs 中会初始化 Startup 类.
Startup.cs 文件是 ASP.NET Core 的启动入口文件,除了构造函数外,它能够定义 Configure 和 ConfigureServices 办法, 其中 ConfigureServices 办法需会在 Configure 之前被调用。
- Configure 办法是用来解决咱们程序中的中间件操作
- ConfigureServices 配置咱们应用程序中的各种服务
bundleconfig.json
bundleconfig.json 是一个压缩包的汇合文件,它能够主动压缩关联文件用于我的项目中,如生成 <script> 和 <link> 符号
.
wwwroot 和 bower.json
wwwroot 是一个寄存动态内容的文件夹,寄存了诸如 css,js,img 等文件。
appsettings
同样是顾名思义——利用配置,相似于.NET Framework 上的 Web.Config 文件,开发者能够将零碎参数通过键值对的形式写在 appsettings 文件中(如程序的连贯字符串),而 Startup 类中也在结构器中通过如下代码使得程序可能辨认该文件
Controllers 文件夹
Controllers 文件夹蕴含负责解决用户输出和响应的管制类。
MVC 要求所有控制器文件的名称以 “Controller” 结尾。
在咱们的实例中,VS 曾经创立好了以下文件:HomeController.cs(用于 Home 页面和 About 页面)和 AccountController.
Models 文件夹
Models 文件夹蕴含示意应用程序模型的类。
VS 主动创立一个 ErrorViewModel.cs 文件,该文件蕴含用于应用程序报错的模型。
Views 文件夹
Views 文件夹存储的是与应用程序显示(用户界面)相干的文件(HTML 文件)。依据所采纳的语言内容,这些文件可能扩展名可能是 html、asp、aspx、cshtml 和 vbhtml。
Views 文件夹中蕴含每个控制器对应的一个文件夹。
在 Views 文件夹中,VS 曾经创立了一个 Home 文件夹、一个 Shared 文件夹。
Home 文件夹用于存储诸如 home 页和 about 页之类的应用程序页面。
Shared 文件夹用于存储控制器间分享的视图(母版页和布局页)。
- _Layout.cshtml 是母版页的意思
- 通过 Razor import 文件模板增加_ViewImports.cshtml(Tag Helper)
Tag Helper 是一个很重要但容易疏忽增加原理的中央贴下如下代码示意
@using webpagetest
@using webpagetest.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
调用代码如下所示
<a class="navbar-brand" asp-area=""asp-controller="Home"asp-action="Index">webpagetest</a>
具备如上知识点,对 ASP.NET CORE 创立我的项目就具备了基础知识内容
博主 GitHub 地址
https://github.com/yuyue5945
关注公众号不迷路