码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【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 
    
    • 1

    在这里插入图片描述

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

    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.json 和 appsettings.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)
  • 相关阅读:
    MPC入门与Matlab实现
    测试/开发程序员,30而立,你是否觉得迷茫?又当何去何从......
    消息队列的概念和原理
    蓝牙官网demo的记录
    RabbitMQ有什么优缺点
    ChatGPT 插件 “Consensus“ 实现论文搜索功能;数据工程在语言建模中的重要性
    【实例分享】银河麒麟高级服务器操作系统环境资源占用异常-情况分析及处理方法
    537页15万字大数据治理体系、大数据可视化平台及应用方案
    附录A printf、varargs与stdarg A.2 使用varargs.h来实现可变参数列表
    【动手实战】你真的会用 Stream ?来试试看
  • 原文地址:https://blog.csdn.net/Awt_FuDongLai/article/details/134244554
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号