本着学新不学旧的原则,.Net Core会逐步替代.Net Framework,并且是开源框架,能用在什么地方懂的都懂。本文记录了Net8框架下的Web API项目创建到部署过程。
1、创建项目
新建项目选择ASP.NET Core Web API,太多了的话可以在上面筛选
如果没有去VS Installer添加“ASP.NET 和 Web开发”模块并安装。
配置项目
:方便测试不勾选。
:勾选后是传统的Program类中定义Main函数入口;不勾选直接就是指令有点抽象不符合C#习惯,够不够选看个人。
:不勾选会在Program中写方法,看着乱,建议勾选。
2、项目结构和解释
项目结构
Main函数配置解释:
Controller解释:
LaunchSettings.json配置文件:
记录了端口配置信息等。
3、本地运行
可以选择http或者IIS方式运行,端口见上面json内的配置
运行效果
Debug模式下会进入Swagger页面(见上面Main函数注释),以UI形式方便观察测试接口和结果
点击Execute查看请求URL和返回结果
至此本地测试完成
4、生成项目
选择菜单栏中的 生成 -> 发布。
目标可以选文件夹,简单一点
默认路径是生成文件夹下的publish目录
点击发布编译生成项目
生成成功后可以直接到生成目录下:
5、服务器远程部署(Windows)
部署环境:Window Server 2016
(1)安装IIS
这边简单写了,详细自行查询
服务器管理器 -> 添加功能 -> 安装IIS
(2)安装NetCore运行时
进入微软官网下载运行时Download .NET 8.0 (Linux, macOS, and Windows),选择HostBundle包即可。
安装完后,右键找到IIS管理器:
在模块下出现AspNetCoreModuleV2表示安装成功:
(3)配置IIS
添加应用程序池:
输入名称,选择”无托管代码“:
,过程略。
IIS添加网站:
选择刚才创建的
选择刚才上传的文件夹
选择空端口(不用和项目中json配置的一样)
编辑权限中创建一个完全控制权限的账户
点击”启动“运行,发现什么都没有。别忘记我们做的是API不是网站,地址换成接口URL就有了
Postman远程测试也没有问题:
6、新增自定义接口
Controllers文件夹添加控制器
表示URL以类名MyAPI为路由地址,希望其他地址直接改字符串就行。
列举了4个请求的例子:
DataModel类:
运行后已经可以访问结果了