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

这篇具有很好参考价值的文章主要介绍了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项目

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

默认选项即可

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

运行项目会默认打开 Swagger UI 界面

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore


设置 Swagger UI 为起始页


打开 launchSettings.json 文件
屏蔽以下两行代码

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

打开 Program.cs 文件
屏蔽原来的环境判断,新增以下代码

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

app.UseSwagger();
app.UseSwaggerUI(c =>
  {
      c.RoutePrefix = "";
      c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1"); //第二个参数可自定义命名
  });

解释一下,这么做的目的是防止别名出现找不到 swagger.json 的错误

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

再次运行调试,会发现以下变化

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

发布项目


发布项目:右击项目 → 发布

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

选择文件夹

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

选择文件夹位置,这个位置就是 项目发布后的文件 所在的位置

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

检查 目标位置 的文件夹是否存在,不然会报错
点击 更多操作→编辑 可根据自己的项目进行设置

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore
aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

设置好后,点击 发布
当输出显示成功即发布成功;若失败会显示具体信息供排查

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore


二、在 IIS 部署

安装IIS


这里就不再阐述了,引用这位博主的文章
如何安装IIS

安装 Hosting Bundle


点击 https://dotnet.microsoft.com/zh-cn/download
下载安装 Hosting Bundle
我这里安装的是 Hosting Bundle 6.0,可根据情况适当更改

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

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

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore
aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

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

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore
aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

右键 网站 添加网站

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

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

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore
aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

三、内网穿透


打开 控制面板 → 防火墙

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

高级设置

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

入站规则 → 新建规则

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

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

aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore
aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore
aps.net core 6.0 web API & SwaggerUI & IIS部署,.net core,c#,.netcore

现在,内网的其他小伙伴也可以访问你的 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

到了这里,关于aps.net core 6.0 web API & SwaggerUI & IIS部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .net6 core web项目发布部署到IIS,以Windows服务的形式部署启动

    一、修改Program.cs代码,注册为 Windows Service 如果不注册builder.Host.UseWindowsService(); 安装为window服务会启动报错 安装NuGet包 Microsoft.Extensions.Hosting.WindowsServices Program.cs代码 二、发布项目 1、以文件夹形式 2、目标运行时选对应的平台(本Coder是:winx-64) 3、文件夹选项:在发布前删

    2024年02月11日
    浏览(39)
  • 如何将.NET 8.0的ASP.NET Core Web API部署成Windows服务

    前面写了一篇关于将.NET应用转换成Windows服务的方法,其实真正的目的是为了探索如何将Asp.Net Core Web Api 部署成Windows 服务。基于上一篇的基础,只需把创建 WebApplication 的代码放到 BackgroundService 的ExecuteAsync方法中即可。 其中比较重要的一个细节就是需要指定一下配置:    

    2024年01月17日
    浏览(38)
  • ASP.NET Core:部署到 IIS

    本文章介绍如何在 IIS 服务器上托管 ASP.NET Core 应用。 在 IIS 服务器上安装 .NET Core 托管捆绑包。 捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块允许 ASP.NET Core 应用在 IIS 后面运行。 使用以下链接下载安装程序: 当前 .NET Core 托管捆绑包安装程序(直接下

    2024年02月14日
    浏览(37)
  • .NET Core 8 部署在 IIS 的简单三步

    下载 dotnet-hosting-x.y.z-win.exe ,下载地址:.NET Downloads (Linux, macOS, and Windows) (microsoft.com)   选择对应的版本,点击进入详细页,如 8.0 的版本: 版本最好和你的开发环境版本一致, 比如我的开发环境目前是 8.0.3,前几天出了最新的版本,目前是8.0.4版本。 下载右边的 Runtime 版

    2024年04月15日
    浏览(27)
  • .net core项目部署在IIS上遇见的问题

    处理程序\\\"aspNetCore\\\"在其模块列表中有一个错误模块\\\"AspNetCoreModuleV2\\\" (1)原因: IIS服务器上的.net core 运行时不是最新的,导致AspNetCoreModuleV2模块缺失或者报错; (2)解决: ①.安装“.Net Core Runtime” 需要安装. Net Core Runtime ,安装最新版 安装链接 :https://dotnet.microsoft.com/downloa

    2024年02月07日
    浏览(39)
  • .NET Core WebAPI项目部署iis后Swagger 404问题解决

    之前做了一个WebAPI的项目,我在文章中写到的是Docker方式部署,然后考虑到很多初学者用的是iis,下面讲解下iis如何部署WebAPI项目。 iis ASPNETCoreModuleV2 重点 .NET Core Runtime iis的配置这里就不讲了,主要讲解.NET Core项目部署之后Swagger无法访问问题。 ASPNETCoreModuleV2 安装: https:/

    2024年03月09日
    浏览(38)
  • 详解ASP.NET Core 在 IIS 下的两种部署模式

    KestrelServer最大的优势体现在它的跨平台的能力,如果ASP.NET CORE应用只需要部署在Windows环境下,IIS也是不错的选择。ASP.NET CORE应用针对IIS具有两种部署模式,它们都依赖于一个IIS针对ASP.NET CORE Core的扩展模块。 IIS其实也是按照管道的方式来处理请求的,但是IIS管道和ASP.NET CO

    2024年02月10日
    浏览(42)
  • .NET 6.0 重启 IIS 进程池

    在 .NET 6.0 中,你可以使用 Microsoft.Web.Administration 命名空间提供的 API 来管理 IIS 进程池并实现重启操作。以下是一个示例代码,展示如何使用 .NET 6.0 中的 Microsoft.Web.Administration 来重启 IIS 进程池: 确保替换 appPoolName 变量为你想要重启的应用程序池的名称。 请注意,在运行此

    2024年02月13日
    浏览(33)
  • IIS 部署.NetCore

    https://dotnet.microsoft.com/download/dotnet/3.1/runtime Windows 安装,选择desktop apps 选择好版本后,点击去,找到Core运行时的支持:IIS runtime support,里面的Hosting Bundle(托管捆绑包)下载 设置无托管 参考地址 1、cmd输入命令,提示无法启动此程序,因为计算机中丢失 api-ms-win-crt-runtime-l

    2024年02月12日
    浏览(31)
  • ASP.NET Core Web API用户身份验证

    ASP.NET Core Web API用户身份验证的方法有很多,本文只介绍JWT方法。JWT实现了服务端无状态,在分布式服务、会话一致性、单点登录等方面凸显优势,不占用服务端资源。简单来说,JWT的验证过程如下所示: (1)通过用户名和密码获取一个Token。 (2)访问API时,加上这个Toke

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包