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这两个字母对于各位前辈们和老司 ...
随机推荐
- virtualvm2 观察者模式
<template> <div id="app"> <input type="text" v-model='msg'> &l ...
- 钉钉扫码登录第三方,appSecret签名算法(附包名)
包名 import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import javax.crypto.Mac; ...
- 洛谷P1118数字三角形,
#include <bits/stdc++.h> using namespace std; int c[13][13];//杨辉三角 int b[13];//用于排除 int a[13]; ...
- 【git入门】基于阿里云搭建git
本文旨在说明基本的git使用流程,分为以下几个部分: 1.安装git环境 2.注册 3.git基本操作 一.安装git环境 第一次使用git,需要先安装配置git环境,windows版下载地址http ...
- C# 定时任务模拟,请求二十万数据
定时器请求二十万数据 最近遇到一个问题,api接口,因为数据内容转换处理.一页1万条数据处理速度3秒以上.假设二十万条数据,分页请求二十次,总共花费时间1分钟以上. 解决这个问题,我第一时间想到并发, ...
- JavaScript for in循环,for of循环
一.JavaScript for/in 语句循环遍历对象的属性 var person={fname:"Bill",lname:"Gates",age:56}; ...
- linux 安装 jupyter notebook
虚拟机使用的是ubuntu系统 直接遇见一个问题 E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/ ...
- 解决Vue打包后背景图片路径错误问题(转)
1.原因解析 当用vue-cli自动构建项目后,有两种运行方法,分别是: npm run dev : 提供一个开发的环境,自动热更新,资源使用绝对路径,所以可以正常看到背景图片. npm run bu ...
- 【Mybatis-Plus】使用updateById()、update()将字段更新为null或者空
参考 https://blog.csdn.net/weixin_41544866/article/details/119738605
- K8S 性能优化 - OS sysctl 调优
前言 K8S 性能优化系列文章,本文为第一篇:OS sysctl 性能优化参数最佳实践. 参数一览 sysctl 调优参数一览 # Kubernetes Settings vm.max_map_cou ...