分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用

发布时间:2023-09-06 02:15责任编辑:彭小芳关键词:.NETWeb

一、前言

1、本文主要内容

  • Visual Studio Code 开发环境配置
  • 使用 ASP.NET Core 构建Web应用
  • ASP.NET Core Web 应用启动类说明
  • ASP.NET Core Web 项目结构说明

2、本教程环境信息

软件/环境说明
操作系统Windows 10
SDK2.1.401
ASP.NET Core2.1.3
IDEVisual Studio Code 1.27
浏览器Chrome 69

3、前置知识

你可能需要的前置知识

  • VS Code + .NET Core快速开始

https://ken.io/serie/dotnet-core-quickstart

  • C#语法学习

http://www.runoob.com/csharp/csharp-tutorial.html

二、环境安装与配置

1、SDK 下载与安装

  • 下载

下载地址:https://www.microsoft.com/net/download

跨平台,根据自己的需求选择即可。
这里我下载的是:SDK 2.1.401,你可以选择2.1.x的最新版本

  • 安装

略,一直下一步即可,没什么需要特别注意的。
如果你真想了解,可以参考:https://ken.io/note/dotnet-core-qucikstart-helloworld-windows

2、VS Code下载&安装

  • VS Code 下载

下载地址:https://code.visualstudio.com/download
反正VS Code跨平台,根据自己的需要选择就可以了,

  • VS Code 安装

略,一直下一步即可,没什么特别注意的。
如果你用的macOS,直接拖动到应用程序目录即可,更简单快捷。

3、VS Code配置

  • 基础扩展安装
扩展说明
C#包括语法高亮显示、智能感知、定义、查找所有引用等。调试支持。网络核心(CoreCLR)。
Chinese (Simplified)简体中文补丁包

快捷键(Ctrl+Shift+X)进入扩展管理页,直接搜索扩展名安装即可,或者点击左侧工具栏图标进入扩展管理页

macOS版本快捷键是 Shift+Commnad+X

三、VS Code 开发 ASP.NET Core Web项目

1、项目创建

  • 通过命令行创建项目
#创建项目目录mkdir projects#进入项目目录cd projects#创建项目dotnet new web -n helloweb

2、VS Code打开项目

菜单:文件->打开,选择项目目录打开项目

项目打开后,VS Code会检测到缺少两个必须的Package:OmniSharp、.NET Core Debugger
并且会自动帮你安装

Downloading package ‘OmniSharp for Windows (.NET 4.6 / x64)‘ (31017 KB).................... Done!Installing package ‘OmniSharp for Windows (.NET 4.6 / x64)‘Downloading package ‘.NET Core Debugger (Windows / x64)‘ (41984 KB).................... Done!Installing package ‘.NET Core Debugger (Windows / x64)‘Finished

安装完成后VS Code会提示:

Required assets to build and debug are missing from ‘helloweb’. Add them?

选择Yes即可。

这时候,可以看一下左侧资源管理器,我们可以看到.vscode目录添加了两个配置文件:launch.json,tasks.json。
项目的编译和调试配置文件就已经准备好了

3、VS Code启动项目

我们直接按下F5,或者菜单:调试->启动调试启动项目
ASP.NET Core 默认绑定是5001端口,而且ASP.NET Core 2.1之后默认绑定了HTTPS,项目启动成功后,VS Code会帮我们打开默认浏览器并访问:https://localhost:5001

因为我们并没有配置SSL证书,所以浏览器会发出警告??,以Chrome为例:

这时候,我们点击高级,救护出现继续访问的入口

我们点击继续访问,就会出现Hello World!

4、修改绑定协议HTTPS为HTTP

接着我们可以修改配置去掉HTTPS协议绑定
打开Properties/launchSettings.json文件

{ ?"iisSettings": { ???"windowsAuthentication": false, ????"anonymousAuthentication": true, ????"iisExpress": { ?????"applicationUrl": "http://localhost:53122", ?????"sslPort": 44309 ???} ?}, ?"profiles": { ???"IIS Express": { ?????"commandName": "IISExpress", ?????"launchBrowser": true, ?????"environmentVariables": { ???????"ASPNETCORE_ENVIRONMENT": "Development" ?????} ???}, ???"helloweb": { ?????"commandName": "Project", ?????"launchBrowser": true, ?????"applicationUrl": "https://localhost:5001;http://localhost:5000", ?????"environmentVariables": { ???????"ASPNETCORE_ENVIRONMENT": "Development" ?????} ???} ?}}

iisSettings、profiles.helloweb配置节点都有启动绑定配置,因为VS Code启动项目默认是不通过IIS来host的,iisSettings选项我们忽略即可。

 "helloweb": { ?????"commandName": "Project", ?????"launchBrowser": true, ?????"applicationUrl": "http://localhost:5001", ?????"environmentVariables": { ???????"ASPNETCORE_ENVIRONMENT": "Development" ?????} ???}

将applicationUrl修改为http://localhost:5001
然后重启项目(Ctrl+Shift+F5)机会看到干净纯洁的Hello World!

5、项目启动简介

  • 应用程序入口类
public class Program{ ???public static void Main(string[] args) ???{ ???????CreateWebHostBuilder(args).Build().Run(); ???} ???public static IWebHostBuilder CreateWebHostBuilder(string[] args) => ???????WebHost.CreateDefaultBuilder(args) ???????????.UseStartup<Startup>();}

在应用启动的时候,会执行CreateWebHostBuilder方法,在这个方法中通过类Startup创建了默认了HostBuilder

  • 应用启动类
public class Startup{ ???ConfigureServices(IServiceCollection services) ???{ ???} ???public void Configure(IApplicationBuilder app, IHostingEnvironment env) ???{ ???????if (env.IsDevelopment()) ???????{ ???????????app.UseDeveloperExceptionPage(); ???????} ???????app.Run(async (context) => ???????{ ???????????await context.Response.WriteAsync("Hello World!"); ???????}); ???}}
方法说明
ConfigureServices用于配置应用启动时加载的Service
Configure用于配置HTTP请求管道

web项目模板默认在项目启动的时候调用IApplicationBuilder.run方法,在当前HTTP上下文(HttpContext)中输出了Hello World!

context.Response.WriteAsync(“Hello World!”);

四、备注

1、项目结构说明

根目录/文件说明
.vscode目录VS Code项目配置目录,相当于.vs、.idea文件夹
bin目录编译输出目录,相当于Java项目的target目录
obj目录编译配置与中间目录,用于存放编译配置与编译中间结果
Properties目录用于存放项目配置
wwwroot目录静态文件目录
helloweb.csproj文件项目描述文件
Program.cs文件应用程序入口类文件
Startup.cs文件ASP.NET Core Web应用启动类文件,用于项目启动前进行相关配置

2、附录

  • 本文代码示例

https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-01


本文首发于我的独立博客:https://ken.io/note/asp.net-core-tutorial-web-helloworld

ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用

原文地址:https://www.cnblogs.com/ken-io/p/aspnet-core-tutorial-web-helloworld.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved