.NET Core WebAPI项目部署iis后Swagger 404问题解决

  • .NET Core WebAPI项目部署iis后Swagger 404问题解决已关闭评论
  • 29 次浏览
  • A+
所属分类:.NET技术
摘要

之前做了一个WebAPI的项目,我在文章中写到的是Docker方式部署,然后考虑到很多初学者用的是iis,下面讲解下iis如何部署WebAPI项目。


.NET Core WebAPI项目部署iis后Swagger 404问题解决

前言

之前做了一个WebAPI的项目,我在文章中写到的是Docker方式部署,然后考虑到很多初学者用的是iis,下面讲解下iis如何部署WebAPI项目。

环境准备

  • iis
  • ASPNETCoreModuleV2 重点
  • .NET Core Runtime

iis的配置这里就不讲了,主要讲解.NET Core项目部署之后Swagger无法访问问题。

ASPNETCoreModuleV2 安装:

https://dotnet.microsoft.com/en-us/download/dotnet/6.0

.NET Core WebAPI项目部署iis后Swagger 404问题解决

修改配置文件

修改Program.cs配置文件将

if (app.Environment.IsDevelopment()) {     app.UseSwagger();     app.UseSwaggerUI(); } 

修改为

app.UseSwagger(); app.UseSwaggerUI(); 

打包项目

将项目打包到文件夹

.NET Core WebAPI项目部署iis后Swagger 404问题解决

.NET Core WebAPI项目部署iis后Swagger 404问题解决

24.cnblogs.com/blog/3091176/202403/3091176-20240306231629715-1389371729.png)
.NET Core WebAPI项目部署iis后Swagger 404问题解决

部署项目

确保iis模块有ASPNETCoreModuleV2

.NET Core WebAPI项目部署iis后Swagger 404问题解决

打开iis管理器,右键添加网站,填写网站名称以及指定刚刚打包的文件夹路径

.NET Core WebAPI项目部署iis后Swagger 404问题解决

网站添加成功后,修改应用程序池将对应的程序修改为无托管代码。

.NET Core WebAPI项目部署iis后Swagger 404问题解决

修改web.cofig文件,在打包的项目路径中找到该文件

<aspNetCore processPath=".BrowserBookmarks.exe" stdoutLogEnabled="false" stdoutLogFile=".logsstdout" hostingModel="inprocess"/> 

单标签修改为双标签且添加environmentVariables

   <aspNetCore processPath=".BrowserBookmarks.exe" stdoutLogEnabled="false" stdoutLogFile=".logsstdout" hostingModel="inprocess"> 	 <environmentVariables> 		<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> 	</environmentVariables> </aspNetCore> 

效果截图

.NET Core WebAPI项目部署iis后Swagger 404问题解决

.NET Core WebAPI项目部署iis后Swagger 404问题解决

结尾

书签项目地址:vue+.net入门级书签项目 - 妙妙屋(zy) - 博客园 (cnblogs.com) https://www.cnblogs.com/ZYPLJ/p/17133550.html

内附Docker部署版本