aps.net core 6.0 web API & SwaggerUI & IIS部署

本文章的流程概述如下:

1、将 asp.*** core web API 部署到 IIS
2、将 Swagger UI 设为起始页
3、设置内网穿透,允许其他内网用户访问 web API

我使用的是 VS2022社区版,WebAPI的版本是 .***core6.0,其他版本可能略有不同,请根据情况适当更改。


一、aps.*** 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://dot***.microsoft.***/zh-***/download
下载安装 Hosting Bundle
我这里安装的是 Hosting Bundle 6.0,可根据情况适当更改

安装成功后,打开 IIS →模块 后会在列表看到 Asp***CoreModuleV2


右键 应用程序池 添加应用程序池
选择 无托管代码


右键 网站 添加网站

点击浏览,则会跳转到 Swagger UI 界面


三、内网穿透


打开 控制面板 → 防火墙

高级设置

入站规则 → 新建规则

端口 → 特定本地端口
然后一直按 下一步,最后填写 名称 即可完成



现在,内网的其他小伙伴也可以访问你的 web API 了
其他用户访问的url需加入你的 ipv4 地址
例:你的 ipv4 为 192.100.99.1
本地访问:http://localhost:4040/index.html
内网访问: http://192.100.99.1:4040/index.html


作者在完成这块需求的时候花费了很多时间,在网上查找了很多资料,但大多都是零散不全或跑不通的,踩过很多坑,现在把整个流程记录下来希望能帮助到更多有需要的人。原创不易,希望能得到你的 点赞收藏~

转载请说明出处内容投诉
CSS教程_站长资源网 » aps.net core 6.0 web API & SwaggerUI & IIS部署

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买