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这两个字母对于各位前辈们和老司 ...
随机推荐
- datax-web踩坑记录
实习期间接触了两种ETL工具:kettle.datax 1.datax-web的安装 (跟着文档一步步来就好了) https://github.com/WeiYe-Jing/datax-web/blo ...
- 点击事件触发count自增
1.vue3合成API :(即为什么要用setup() :为了数据更加关联) vue3 引入setup()合成API语法,它可以将某数据关联的内容整合到一个部分,即使setup里的内容越来越多也会围绕 ...
- Day06 ServletContext
ServletContext的介绍与用法 1.什么是ServletContext 1.1 SevrvletContext:Servlet上下文 服务器会为每一个Web工程创建一个ServletCont ...
- pymysql安装后使用报错处理
1.django启动报错: Error loading MySQLdb module. Did you install mysqlclient? 原因:初次安装配置pymysql时需要在__init_ ...
- SAN证书(转载)
日常在周末更新相关容器,更新 potainer 2.6.3 后发现所有远程 docker 节点都无法连接了,看了下日志报错是这样的: background schedule error (endpoi ...
- AOP的使用及特性
转载自:https://blog.csdn.net/tianyaleixiaowu/article/details/70853147 https://www.jianshu.com/p/830e799 ...
- java获取前端的token并验证与拦截器
请求时获取token并验证 public class MyInterceptor implements HandlerInterceptor { //方法执行前进行拦截 @Override publi ...
- 《MySQL是怎样运行的》第二章小结
- VSCode 快捷键,简化操作
一. 区域代码快捷键 1. 折叠所有 折叠所有区域代码的快捷: ctrl + k ctrl + 0 ; 展开所有折叠区域代码的快捷:ctrl +k ctrl + J ; 2. 按层 ...
- 抑制stable_secret读取关键信息
如何抑制stable_secret读取关键的"net.ipv6.conf.all.stable_secret"消息? 您可以/dev/null使用以下命令抑制额外的不需要的消息或将 ...