首页 > 其他分享 >[基础]VS Code 基础操作 命令符

[基础]VS Code 基础操作 命令符

时间:2022-09-18 21:59:00浏览次数:68  
标签:Code 浏览器 请求 get 基础 VS 服务器 post 运行

一、五种运行方式

1、点击IIS Express运行

实际上它开的是一个IIS Express服务器,就是说有一个小的代理服务器帮咱们运行,运行后就会启动一个IIS Express小型服务器,启动之后就会将Swagger运行起来了。这种方式只能在windows系统下去运行。

2、点击项目名运行

靠一个黑框启动,这个黑框可以跨平台,因为它内置了一个Kestrel服务器,是基于Kestrel服务器运行。Kestrel支持.NET Core的所有平台和版本。此外,它默认包含的ASP.NET Core新项目模板中,可以提供更好的请求处理性能。在Visual Studio中创建新项目时,项目会自动配置为在Kestrel中运行。

3、运行黑框

输入命令: Dotnet Run+项目名,可以跨平台,速度最快

4、生成文件

右键生成的时候,生成的文件在bin文件夹下Debug文件夹下net6.0文件夹下。罪证会生成一个.exe文件,双击,这个项目就能运行起来。这个情况下属于正式环境,这个时候Swagger运行不起来,因为生成完的代码不是开发模式

5、运行Dll文件

在net6.0文件夹下,在当前目录下敲cmd,输入命令dotnet + 项目名.dll

二、NetCore自带的依赖注入框架,有三种生命周期

①、Scope作用域,一个区域,有可能是一个方法。

在同一个Scope内只初始化一个实例,同一个请求,使用多次Server,就用的同一个实例。(日常用Scope)

builder.Services.AddScoped<UserInfoDal>();

②、Transient瞬时 每一次请求都是新的连接。

每个请求都会创建一个实例,同一个请求,使用多次Server,用的不同的实例。(轻量级无状态服务尽量使用Transient)

builder.Services.AddTransient<UserInfoBll>();

③、Singleton单例 每一次请求都是相同的。

整个应用程序生命周期内只创建一个实例。

builder.Services.AddSingleton<UserInfoBll>();

三、new和DI依赖注入

1、用new的方式来创建一个对象,缺点:类和类之间耦合性太高

2、DI构造函数依赖注入

.NET Core自带了IOC(控制反转)和DI(依赖注入)

将UserInfoDal类放到我们的容器里,通过构造函数的注入方式,把我们当前要用的对象注入进来。通过构造函数定义的名称拿到方法。

四、DTO: 数据传输对象

输入参数尽量不要使用实体,实体主要是用于对数据库进行交互

五、get和post的区别

  1.get请求一般是去取获取数据(其实也可以提交,但常见的是获取数据);post请求一般是去提交数据。

  2.get因为参数会放在url中,所以隐私性、安全性较差,请求的数据长度是有限制的,不同的浏览器和服务器不同,一般限制在 2~8K 之间,更加常见的是 1k 以内;

  post请求是没有的长度限制,请求数据是放在body中;

  3.get请求刷新服务器或者回退没有影响,post请求回退时会重新提交数据请求。

  4.get请求可以被缓存,post请求不会被缓存。

  5.get请求会被保存在浏览器历史记录当中,post不会。get请求可以被收藏为书签,因为参数就是url中,但post不能。它的参数不在url中。

  6.get请求只能进行url编码(appliacation-x-www-form-urlencoded),post请求支持多种(multipart/form-data等)。

深入理解

  1.GET 和 POST都是http请求方式, 底层都是 TCP/IP协议;通常GET 产生一个 TCP 数据包;POST 产生两个 TCP 数据包(但firefox是发送一个数据包),

  2.对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应 200(返回数据)表示成功;

  而对于 POST,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data,服务器响应 200 (返回数据)。

六、MD5加密

不可逆,非常难以破解

七、幂等性

幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。

接口为什么要实现幂等?
前端重复提交选中的数据,后台只产生对应这个数据的一个反应结果。

 

标签:Code,浏览器,请求,get,基础,VS,服务器,post,运行
From: https://www.cnblogs.com/lwx-99db/p/16705911.html

相关文章

  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Python代......
  • [基础] BS/CS 区别 Http/Https 区别 中间件请求
    BS和CS的区别:   1、BS结构:Browser-Server-从浏览器到服务器,浏览器打开的所有内容都属于BS(三大主流浏览器Safari、Chrome和Firefo)   2、CS结构:Clinet-Server-Windo......
  • LeetCode & SQL All In One
    LeetCode&SQLAllInOnehttps://leetcode.cn/study-plan/sql/?progress=sr9i61hrefs©xgqfrms2012-2020www.cnblogs.com/xgqfrms发布文章使用:只允许注册用......
  • 2022-2023-1 20221308 《计算机基础与程序设计》第三周学习总结
    作业信息班级的链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求的链接:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03教材学习内容总结《c......
  • HK32F030MF4P6的Linux GCC工具链和VSCode开发环境
    HK32F030MF4P6简介航顺的HK32F030MF4P6,TSSOP20封装,ArmCortexM0内核,内建32MHz时钟,16KFlash,2KRAM(实际上可用的有4K).这个型号的目的应该是硬件替换STM......
  • Java基础(四)—— HashCode和Equals
    正如标题所言,今天我们来讲讲hashCode和equals。或许有些人会奇怪了,这两个东西为什么要放在一起来讲呢?这是因为按照JDK规范:如果两个对象根据equals方法比较是相等的,那么调......
  • MySQL基础架构:SQL查询语句执行过程
    MySQL是一种关系型数据库管理系统,采用的是分层结构,本文中将简单介绍MySQL数据库的内部架构。目录客户端层服务器层连接器查询缓存分析器优化器执行器存储层MySQL是一个C/......
  • Leetcode第8题:字符串转换整数 (atoi)
    /**这题就是要细心,首先要通过循环去掉前面的空格然后看看有没有正号或者负号,或者没有符号再看看数字有没有越界*/classSolution{publicintmyAtoi(Strings)......
  • leetcode 622.设计循环队列
    622.设计循环队列难度中等402  设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它......
  • leetcode 652 寻找重复的子树
    652.寻找重复的子树难度中等630  给你一棵二叉树的根节点root,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。如果两棵......