关于程序员:ASPNET-CORE-简介

59次阅读

共计 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

关注公众号不迷路

正文完
 0