目录

  • 一、aps.net core 6.0 web API 项目配置
    • 创建项目
    • 设置 Swagger UI 为起始页
    • 发布项目
  • 二、在 IIS 部署
    • 安装IIS
    • 安装 Hosting Bundle
  • 三、内网穿透

本文章的流程概述如下:

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


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