使用.NET8实现Web API

目录

  • 1、环境准备
    • 1.1、从官网下载及安装VS2022社区版
    • 1.2、下载及安装asp.net core的运行时及IIS Module
  • 2、WebAPI工程创建
    • 2.2 推荐的库
      • 2.2.1 数据库篇
        • 2.2.1.1、 SQLSugar
        • 2.2.1.2、 OracleAccess
      • 2.2.2、IOC篇
        • 2.2.2.1、autofac
        • 2.2.2.2、
      • 2.2.3、日志记录篇
        • 2.2.3.1 log4net
        • 2.2.3.2 nlog
      • 2.2.4 其他
        • 2.2.4.1 设置

1、环境准备

1.1、从官网下载及安装VS2022社区版

可从官网下载VS2022社区版本,并进行安装。下载链接:官网VS2022社区版本链接
【说明】去年(2023年)底,微软发布了NET8,为长期支持版本。目前长期支持的版本为:NET6NET8。所以建议直接使用NET8。在VS2022安装时,默认的NET版本就是NET8

1.2、下载及安装asp.net core的运行时及IIS Module

安装完成VS2022后,需要额外安装Core运行时及IIS的模块

1、下载及安装运行时以及IIS的模块
直接在网上输入: windows hosting bundle托管捆绑包。找到官网就能下载,下载完成后进行安装。
【说明】先在本机完成安装IIS,否则还得折腾。
在这里插入图片描述2、完成安装
在这里插入图片描述
安装完成后,在IIS模块中应该能够看到AspNetCoreModuleV2
在这里插入图片描述3、IIS设置
因为要支持跨平台性,微软推出“Kestrel”服务,替代IIS承载asp.net core等Web服务。因此IIS的web承载功能就没用了,IIS只是一个请求转发的功能,类似Nginx。所以,需要设置IIS的程序池进行相关设置。
创建一个新的程序应用池,CLR版本选择“无托管代码”,如下图所示。使用asp.net core发布的网站,选择应用程序池时,选择刚才创建的这个。
在这里插入图片描述在发布asp.net core的web程序时,选择刚才设置的程序池
在这里插入图片描述以上工作完成后,就进入Web API的正式创建了

2、WebAPI工程创建

新建项目–>选择ASP.NET Core Web API
在这里插入图片描述
在这里插入图片描述选择相应的信息后,点击创建既可
在这里插入图片描述一些默认的配置需要优化下。以便更快的上手。
在这里插入图片描述## 2.1 创建API服务
1、Controllers–>添加–>控制器
选择

2.2 推荐的库

2.2.1 数据库篇

2.2.1.1、 SQLSugar

一般NET会使用三个ORM的框架:EF、SQLSugar、Drapper。这三个基本大差不差,推荐使用SQLSugar。

2.2.1.2、 OracleAccess

若不使用ORM等第三方的库,则使用Oracle的库“ManagedDataAccess”。这个的好处是不用关心32还64位的问题。
在这里插入图片描述

2.2.2、IOC篇

IOC就是实例的创建,交给了容器。由容器创建实例,一般而言。项目中本身也包含此功能:Microsoft.Extention.DependencyInjection。既可以使用自带的,也可以使用第三方的。第三方使用比较多的是autofac。

2.2.2.1、autofac
2.2.2.2、

2.2.3、日志记录篇

常用的NET日志工具,一般有:log4NET、NLog这两个。基本上都差不多,这有个连接:NET常用的10个日志记录工具

2.2.3.1 log4net
2.2.3.2 nlog

2.2.4 其他

2.2.4.1 设置

swagger的设置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/8839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】Centos7安装部署unimrcp,搭建MRCP服务器

yum install libtool yum install libtool-ltdl-devel yum install libsofia-sip-ua find / -name libsofia-sip-ua.so.0 2>/dev/null # 设置环境变量:如果库文件存在但不在默认搜索路径中,你可以通过设置 LD_LIBRARY_PATH 环境变量来告诉系统在哪…

Python中的函数定义(def)详解

Python中的函数定义(def)详解 在编程语言中,函数是组织代码的一种方式,它们可以帮助我们将复杂的程序拆分为简单、易管理的部分。在Python中,函数的定义使用def关键字。 什么是函数? 函数是一段完成特定…

【微信小程序开发】微信小程序、大前端之flex布局方式详细解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

8.1 AWS创建用户池(Amazon Cognito)和用户

AWS创建用户池(Amazon Cognito)和用户 目录一、Amazon Cognito1. 创建用户池2. 添加用户 目录 一、Amazon Cognito Amazon Cognito: https://aws.amazon.com/cognito/ Amazon Cognito 是亚马逊提供的一种身份验证、授权和用户管理服务。它为开发人员提供…

懒洋洋作业讲解

懒洋洋作业讲解 环境配置 1.软件下载:DCloud - HBuilder、HBuilderX、uni-app、uniapp、5、5plus、mui、wap2app、流应用、HTML5、小程序开发、跨平台App、多端框架 2.软件介绍 HBuilder是由DCloud(数字天堂)推出的一款面向HTML5的Web开发…

如何训练一个非常像的真人LoRA

在本篇文章中,我们将探索如何训练一个能够将喜爱的人物置入任何场景中并实现高度一致性的LoRA模型。借助LoRA,我们能够创造出极为逼真的人物图像,就如同我为斯嘉丽训练的LoRA模型所展示的那样。 那么,让我们一起深入了解如何训练L…

vue2人力资源项目3主页

主页权限验证 前置守卫开启进度条,后置守卫关闭进度条 import router from /router import nProgress from nprogress// 导入进度条(模板自带) import nprogress/nprogress.css// 导入进度条样式(模板自带) // 前置守…

idea配置hive

idea配置hive 今天才知道,idea居然可以配置hive,步骤如下: view -> Tool Windows -> Database Database出来了之后,直接配置即可

SEQUENTIAL CONSISTENCY----SC

SC模型是最直观的memory consistency model; 什么是single core sequential? 真正的执行顺序,和PO的顺序,是相同的; 什么是multi core sequential consistent? the operations of each individual processor (core) appear in this seq…

Python深度学习基于Tensorflow(1)Numpy基础

文章目录 数据转换和数据生成存取数据数据变形和合并算数计算广播机制使用Numpy实现回归实例 numpy的重要性不言而喻,一般不涉及到GPU/TPU计算,都是用numpy,常见的np就是这个玩意。其特点就是快!其实如果不涉及到深度学习&#xf…

HTTP常见面试题(二)

3.1 HTTP 常见面试题 HTTP特性 HTTP 常见到版本有 HTTP/1.1,HTTP/2.0,HTTP/3.0,不同版本的 HTTP 特性是不一样的。 HTTP/1.1 的优点有哪些? HTTP 最突出的优点是「简单、灵活和易于扩展、应用广泛和跨平台」。 1. 简单 HTTP…

JavaWeb_请求响应_简单参数实体参数

一、SpringBoot方式接收携带简单参数的请求 简单参数:参数名与形参变量名相同,定义形参即可接收参数。并且在接收过程中,会进行自动的类型转换。 启动应用程序后,在postman中进行测试: 请求成功,响应回了O…

需要几步申请免费SSL证书,实现网站HTTPS访问

SSL证书是一种用于在网络中提供加密通信的数字证书。它有助于保护网站数据的完整性和隐私性,并通过在浏览器地址栏显示“https”和绿色锁图标来增强用户信任。许多证书颁发机构(CA)提供免费的SSL证书,以鼓励更广泛的网络安全使用。…

一步成像:Hyper-SD在图像合成中的创新与应用

一、摘要: 论文:https://arxiv.org/pdf/2404.13686 代码:https://huggingface.co/ByteDance/Hyper-SD 在生成人工智能领域,扩散模型(Diffusion Models, DMs)因其出色的图像生成质量而备受关注,但…

itext5.5.13 PDF预览权限问题

PdfUtils.htFile.createNewFile() createNewFile 创建文件错误错误原因方式一方式二实例代码-生成PDF表格数据 createNewFile 创建文件错误 ht getResourceBasePath() "\\templates\\ht.pdf"; htFile new File(ht);代码含义是创建源文件路…

【大学物理】双语笔记

7.5 angular momentu(角动量)_哔哩哔哩_bilibili 6.4Energy in Rotation Motion 有质量有速度的物体有动能,是不是很有道理 international system(from French systeme international,acronym,SI)of ineria kg*m^2 转…

Google Earth Engine——删除和复制指定ASSETS中的文件信息(JavaScript 和python版本)

如果你和我一样,有大量资产上传到 Earth Engine。随着上传的资产越来越多,管理这些数据变得相当繁琐。Earth Engine 提供了一个便捷的命令行工具,可以帮助进行资产管理。虽然命令行工具非常有用,但在涉及批量数据管理任务时,它就显得力不从心了。 如果你想重新命名一个图…

上位机图像处理和嵌入式模块部署(树莓派4b和mcu的分工与配合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 树莓派4b从广义上来说,它本身就是一个mini小电脑。我们需要什么软件,就可以apt install去下载即可。这和之前嵌入式linux开…

8G显存玩转AI换衣IDM-VTON(支持MAC、WIN)

最近AI换衣项目IDM-VTON挺火哈,我也火速体验了一把。效果也是很不错,相对OOTDiffusion的换衣效果提升了不少。 那部署的时候遇到比较大的问题是高显存占用!太吃配置了!24G的显卡占用了18G左右。于是花了点时间改成 使用了低精度模…

吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):2.5 更复杂的神经网络

目录 示例填写第三层的层数1.问题2.答案 公式:计算任意层的激活值激活函数 示例 层数有4层,不包括输入层。 填写第三层的层数 1.问题 你能把第二个神经元的上标和下标填写出来吗? 2.答案 根据公式g(wxb),这里的x对应的是上…