当前位置: 首页 > news >正文

【ASP.NET】Hello World

文章目录

  • 1. 几个概念
  • 2. 搭建开发环境
    • 2.1 .NET SDK
    • 2.2 IDE & Editor
  • 3 First Project
    • 3.1 步骤
    • 3.2 模板
    • 3.3 项目结构
    • 3.4 请求的处理流程
  • Reference Link

1. 几个概念

  • .NET
    是一个平台,包括 .NET Framework、.NET Core、ASP.NET、C#等,可以构建桌面、Web、移动应用等应用程序。

  • .NET Framework 和 .NET Core
    是 .NET 平台的一个特定组件,是用于构建 Windows 应用程序的框架,只能在 Windows 操作系统上运行,不支持跨平台开发
    可用于构建 Windows、Linux 和 macOS 上的应用程序,支持跨平台开发

  • ASP.NET 和 ASP.NET Core
    ASP.NET 是一组用于构建 Web 应用程序和 Web 服务的技术和工具。它是.NET 技术栈中的一部分,不支持跨平台
    ASP.NET Core 是 ASP.NET 的下一代版本,建立在.NET Core 之上,包括 ASP.NET Core MVC(用于构建 Web 应用)和 ASP.NET Core Web API(用于构建 Web 服务)等技术,支持跨平台。类比成Java中的SpringBoot框架。可以用于传统的服务器端渲染应用程序,也可以用于创建前后端分离的单页面应用程序。
    在这里插入图片描述

  • C#
    是.NET平台上的一门编程语言,常与ASP.NET Core结合使用。
    程序通过编译为Intermediate Language(IL)代码的形式实现跨平台。
    IIS是依赖于Windows的web服务器,Kestrel是跨平台HTTP服务器,可以运行APS.NET程序。
    在这里插入图片描述

  • NuGet
    NuGet是.NET的包管理器,类似于Java中的Maven。

  • solution 和 project
    solution 由一个或者多个 project 组成;
    project 是部署的单元,可以被编译为dll文件或者可执行文件,类似于 Java 中的 module 的概念。

2. 搭建开发环境

2.1 .NET SDK

https://dotnet.microsoft.com/zh-cn/download

在这里插入图片描述

dotnet --info 

在这里插入图片描述

# 切换.net sdk 版本
dotnet --global-sdk 3.1.100

2.2 IDE & Editor

  • Visual Studio
    https://visualstudio.microsoft.com/zh-hans/downloads/
    在这里插入图片描述

安装选择workloads时候,记得勾选下面几项进行下载安装:

  • ASP.NET and web development
  • .NET Core cross-platform development

要注意的是Visual Studio for Mac和Visual Studio是两个完全不同的产品

  • JB Rider
    https://www.jetbrains.com/rider/
    在这里插入图片描述
  • VS Code

3 First Project

  • 使用 visual studio用作说明

3.1 步骤

  • Generate:选择一个模板,生成项目文件夹
  • Restore:导入需要的包和依赖。donet restore
  • Build:生成必要的编译文件 dotnet build
  • Run:运行编译后的应用程序 dotnet run

3.2 模板

  • Razor Pages web application:前后端不分离,在服务端生成 HTML 代码,使得用户能够通过浏览器直接访问。
  • MVC (Model-View-Controller) application:前后端不分离
  • Web API application:前后端分离

3.3 项目结构

在这里插入图片描述

  • .csproj nuget 包管理文件,类似于 Java 中的 pom.xml。
  • .sln 显示solution 下有哪些 projects。
  • launchSettings.json,在 project/properties/目录下,控制怎么 run 和 debug 程序。
  • appsettings.jsonappsettings.Development.json, 类似Java 中的 application.yml 文件。
  • wwwroot/ 目录可以被浏览器直接访问。
  • Program.cs,包含 main方法,是启动文件。包含 IHostBuild类型的方法,回去调用 startup.cs 中的配置方法。
  • Startup.cs,会被 program.cs 调用的配置类文件。包含服务注册和配置中间件管道两个方法。
    在这里插入图片描述
  • xxx.cshtml,是Razor Pages页面,是一种页面模版,类似于 JSP。

3.4 请求的处理流程

  • /privacy 请求会被转到privacy.cshtml 页面
    在这里插入图片描述

Reference Link

  1. https://github.com/andrewlock/asp-dot-net-core-in-action-2e
  2. ASP.NET Core in Action (Andrew Lock) (Z-Library)
http://www.lryc.cn/news/231459.html

相关文章:

  • AI创作系统ChatGPT网站源码+支持最新GPT-Turbo模型+支持DALL-E3文生图/AI绘画源码
  • C#_查找图片(按键精灵找图)
  • C#中.NET Framework4.8 控制台应用通过EF访问新建数据库
  • 无防御香港服务器如何防CC
  • MyBatis的插件能在哪些地方进行拦截?
  • 【BUG库】 记录自己学习工作中遇到的程序BUG
  • 卡尔曼家族从零解剖-(07) 高斯分布积分为1,高斯分布线性变换依旧为高斯分布,两高斯函数乘积仍为高斯。
  • 设计模式-访问者模式(Visitor)
  • C++二分查找算法:132 模式解法二枚举2
  • JavaWeb-HTML
  • 新外卖霸王餐小程序、H5、微信公众号版外卖系统源码
  • LeetCode - #89 格雷编码
  • 11.3SpringMVC
  • c语言从入门到实战——数组指针与函数指针
  • Rust图形界面编程:egui平直布局
  • Android13 wifi adb 串口开启
  • 关于一个屏幕取词程序,AI给的创建思路及指导
  • MySql跨库跨表触发器
  • NextJS开发:shadcn/ui中Button组件扩展增加图标
  • Go 语言
  • 【计算机网络笔记】DHCP协议
  • 21 Linux 自带的LED驱动
  • 神通MPP数据库的跨库查询
  • JavaWeb-WEB请求过程
  • 《QT从基础到进阶·二十一》QGraphicsView、QGraphicsScene和QGraphicsItem坐标关系和应用
  • 32 _ 字符串匹配基础(上):如何借助哈希算法实现高效字符串匹配?
  • TCP怎么实现可靠传输
  • C# new 和 override 的区别
  • C++11『右值引用 ‖ 完美转发 ‖ 新增类功能 ‖ 可变参数模板』
  • 在Windows以命令行方式根据文件名称搜索文件