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

本文章的流程概述如下:

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


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

  • 22
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值