zoukankan      html  css  js  c++  java
  • 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 模板,创建工程
    20201221151605-2020-12-21

    按照项目实际需求定义项目名称、源码位置

    1608534997(1)-2020-12-21

    创建完成的项目预览如下

    20201221151722-2020-12-21

    .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

    关注公众号不迷路

    alt

  • 相关阅读:
    《构建之法》读书笔记六
    《构建之法》读书笔记五
    《构建之法》读书笔记四
    《构建之法》读书笔记三
    《构建之法》读书笔记二
    《构建之法》读书笔记一
    开发mis系统需要的技术
    java异常处理
    多态
    动手动脑6
  • 原文地址:https://www.cnblogs.com/yuyue5945/p/14169030.html
Copyright © 2011-2022 走看看