Dotnet初探: 尝试使用 dotnet6 的miniapi
引子
最近我们学校要求我们使用dotnet实现一个登录功能,由于我们学校的教程老旧(万年经典asp .net 4.x,慢的要死),我看有高性能又免费的Dotnet6不用,还又要退回几年前,于是决定另开炉灶——自己看看微软文档实现。
环境
关于开发环境,我这里直接选用 vs2022 社区版,如果你有钱也可以选其他版本;当然,如果你感觉vs太臃肿,也可以使用 vscode 或者 rider。安装完工具后,我们直接上微软.NET官位下载它6.x的 SDk,由于我是windows系统,所以我下载msi的安装包,如果你是其他系统,可以看微软的安装文档。
项目初始
创建
直接用vs创建一个webapi项目,注意在创建的时候去掉那个带“控制器”什么的对号就可以了。如果是vscode,直接执行命令 dotnet new webapi -minimal -o 项目目录名称,当然,不带这个目录默认在当前目录创建。
项目概述
.Net6 更新了一个顶级语句,可以像python一样快速创建应用,不需要像Java那样啰嗦的创建一个类,如果需要其他库,直接在第一行 using xxx; 引用即可。
项目的 properites 目录下有一个 xxx.json 文件,它是管理项目启动的url的文件,不明白url的小伙伴请自己百度。
program.cs 文件是我们的程序入口,一般顶级语句写在这里,其他文件老老实实写类就可以了。如果需要多文件编程,直接放进去一个命名空间就完事了,然后引用它就能用了。
这个文件里面的代码很多,我们初学者一下子很难看明白,不过还好有微软。
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
这几行代码用来声明一个web程序,专业点说就是注册一个web程序
app.MapGet("/", () => "Hello World!");
app.Run();
这几行代码用来设置供用户访问的url地址,当然,这里用了get请求方法,你也可以改成post等,也可以叫设置路由(一看就是机器翻译的——不说人话),然后第二行代码让程序运行起来。
项目运行
直接点这个绿色的按钮就可以了,或者执行 dotnet run
Dotnet初探: 尝试使用 dotnet6 的miniapi的更多相关文章
- 【转】vscode调试运行c#详细操作过程
[转]vscode调试运行c#详细操作过程 主要命令: //路径跳转cd //新建项目dotnet new console -o 路径 //运行dotnet run //用于发布exe<Runt ...
- [译]试用新的System.Text.Json API
译注 可能有的小伙伴已经知道了,在.NET Core 3.0中微软加入了对JSON的内置支持. 一直以来.NET开发者们已经习惯使用Json.NET这个强大的库来处理JSON. 那么.NET为什么要增 ...
- .NET 2.0 参考源码索引
http://www.projky.com/dotnet/2.0/Microsoft/CSharp/csharpcodeprovider.cs.htmlhttp://www.projky.com/do ...
- 尝试在mac上用dotnet cli运行asp.net core示例程序
自从知道微软用dotnet cli取代dnx之后,一直在等dotnet cli支持asp.net core... 昨天看到这篇新闻(ASP.NET Core 1.0 Hello World)后,才知道 ...
- DotNet源码学习-HASHSET(初探)
命名空间:System.Collections.Generic 先看一下官方说明:类提供了高级的设置操作.集是不包含重复元素的集合,其元素无特定顺序. HashSet <T>对象的容量是对 ...
- RxJava尝试取代Handler初探
在之前的一篇文章中,我们探究了RxJava的使用方法,详细请看https://www.cnblogs.com/yanyojun/p/9745675.html 根据扔物线大神的描述,如果用一个词来概括R ...
- DOTNET Core MVC(二)路由初探
搁置了几天,工作忙的一塌糊涂,今天终于抽空来继续看看MVC的知识.先来看看MVC的路由是如何处理的.以下为替代的路由: app.UseEndpoints(endpoints => { endpo ...
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之九 || 依赖注入IoC学习 + AOP界面编程初探
更新 1.如果看不懂本文,或者比较困难,先别着急问问题,我单写了一个关于依赖注入的小Demo,可以下载看看,多思考思考注入的原理: https://github.com/anjoy8/BlogArti ...
- 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)
很多的软件项目中都会使用到定时任务.定时轮询数据库同步,定时邮件通知等功能..NET Framework具有“内置”定时器功能,通过System.Timers.Timer类.在使用Timer类需要面对 ...
- .NET文件并发与RabbitMQ(初探RabbitMQ)
本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...
随机推荐
- Unity学习笔记——坐标转换(1)
1.Center与Pivot的区别 Pivot是模型坐标轴的真实位置,将辅助图标定位在网格的实际轴心点. Center是模型渲染边界的中心. 当包含子物体时,Pivaot模式辅助图标在物体的实际轴心点 ...
- 狂神的学习笔记demo11(包机制)
无法生成子包的问题:设置图标里的Compact Middle Packages勾去掉 //定义包 package package com.panda.base1; //导入包import import ...
- 简单总结一下html中能见到的各种相对路径
试列举如下(在本文中,星号表示资源名): href="/*" href="//*" href="*" href="./*" ...
- python print 一个进度条
import time scale=100 print("执行开始".center(scale+28,'-')) start = time.perf_counter() for i ...
- F - Substring of Sorted String
题目链接 题解(树状数组) 我们维护两个树状数组,一个记录 \(1\sim i\) 中 \(s_i>s_{i+1}\)的数量,即逆序对数量,另一个记录 \(1\sim i\) 中 \(26\) ...
- Conda简单教程 - 搬运
Conda简单教程 转自:https://www.cnblogs.com/nuccch/p/15046969.html 目录 什么是Conda 安装Conda 虚拟环境管理 模块管理 何时使用Cond ...
- 错误:为仓库 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist
sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* sudo sed -i -e &qu ...
- 关于使用antd-proTable,报错 ResizeObserver loop limit exceeded
错误如上,原因有几种情况 一:columns中,属性又ellipsis属性,但是没有设置width,导致table不知道如何计算在什么时候,开始对内容进行加省略号,出现了计算错误 如 const c ...
- 01. vim入门
0. 前言 我打算写一个系列文章,用来详细介绍vim的使用技巧,我会从头开始,从vim入门,到vim的各种配置,这是第一篇 1. vim 的三种模式 Normal mode (正常模式) Inster ...
- Redis Stream Commands 命令学习-1 XADD XRANGE XREVRANGE
概况 A Redis stream is a data structure that acts like an append-only log. You can use streams to reco ...