本文章的流程概述如下:
1、将 asp.net core web API 部署到 IIS
2、将 Swagger UI 设为起始页
3、设置内网穿透,允许其他内网用户访问 web API
我使用的是 VS2022社区版,WebAPI的版本是 .netcore6.0,其他版本可能略有不同,请根据情况适当更改。
一、aps.net core 6.0 web API 项目配置
创建项目
创建webapi项目
默认选项即可
运行项目会默认打开 Swagger UI 界面
设置 Swagger UI 为起始页
打开
launchSettings.json
文件
屏蔽以下两行代码
打开
Program.cs
文件
屏蔽原来的环境判断,新增以下代码
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "";
c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1"); //第二个参数可自定义命名
});
解释一下,这么做的目的是防止别名出现找不到 swagger.json 的错误
再次运行调试,会发现以下变化
发布项目
发布项目:右击项目 → 发布
选择文件夹
选择文件夹位置,这个位置就是 项目发布后的文件 所在的位置
检查 目标位置 的文件夹是否存在,不然会报错
点击 更多操作→编辑 可根据自己的项目进行设置
设置好后,点击 发布
当输出显示成功即发布成功;若失败会显示具体信息供排查
二、在 IIS 部署
安装IIS
这里就不再阐述了,引用这位博主的文章
如何安装IIS
安装 Hosting Bundle
点击 https://dotnet.microsoft.com/zh-cn/download
下载安装 Hosting Bundle
我这里安装的是 Hosting Bundle 6.0,可根据情况适当更改
安装成功后,打开 IIS →模块 后会在列表看到 AspNetCoreModuleV2
右键 应用程序池 添加应用程序池
选择 无托管代码
右键 网站 添加网站
点击浏览,则会跳转到 Swagger UI 界面
三、内网穿透
打开 控制面板 → 防火墙
高级设置
入站规则 → 新建规则
端口 → 特定本地端口
然后一直按 下一步,最后填写 名称 即可完成
现在,内网的其他小伙伴也可以访问你的 web API 了
其他用户访问的url需加入你的 ipv4 地址
例:你的 ipv4 为192.100.99.1
本地访问:http://localhost:4040/index.html
内网访问: http://192.100.99.1:4040/index.html文章来源:https://www.toymoban.com/news/detail-706190.html
作者在完成这块需求的时候花费了很多时间,在网上查找了很多资料,但大多都是零散不全或跑不通的,踩过很多坑,现在把整个流程记录下来希望能帮助到更多有需要的人。原创不易,希望能得到你的 点赞 和 收藏~文章来源地址https://www.toymoban.com/news/detail-706190.html
到了这里,关于aps.net core 6.0 web API & SwaggerUI & IIS部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!