首页 > 其他分享 >.NET Core WebAPI项目部署iis后Swagger 404问题解决

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

时间:2024-03-06 23:22:40浏览次数:24  
标签:WebAPI Core iis 项目 app NET

.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

image

修改配置文件

修改Program.cs配置文件将

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

修改为

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

打包项目

将项目打包到文件夹

image

image

24.cnblogs.com/blog/3091176/202403/3091176-20240306231629715-1389371729.png)
image

部署项目

确保iis模块有ASPNETCoreModuleV2

image

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

image

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

image

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

<aspNetCore processPath=".\BrowserBookmarks.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess"/>

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

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

效果截图

image

image

结尾

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

内附Docker部署版本

标签:WebAPI,Core,iis,项目,app,NET
From: https://www.cnblogs.com/ZYPLJ/p/18057885

相关文章

  • netcore AES同等效转java语言 加密方法
    privatestaticbyte[]Keys={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F};///<summary>///DES加密字符串///</summary>///<paramname="encryptString&qu......
  • asp.net core 7+ 调用类库的控制器
    直入主题,用原版ioc的话只需要现在类库中引用包 然后就和普通控制器一样,继承ControllerBase,然后标记上特性就可以使用 如果是使用autofac作为ioc,那么就要稍微改一下builder.Host.UseServiceProviderFactory(newAutofacServiceProviderFactory());使用autofac代替......
  • WebAPI中控制器路由和方法路由的区别
    控制器级别的路由:在控制器级别应用路由意味着所有该控制器中的操作都将遵循指定的路由模板。控制器级别的路由通常用于区分不同的API版本或将相关的操作分组到一个URL路径下。控制器级别的路由可以在控制器类上应用,例如:[Route("api/[controller]")][ApiController......
  • .NETCore文件上传将文件保存到docker容器以外的文件夹
    最近在开发一个文件服务,用于公司内容各应用的文件保存和查询获取。开发环境:windows10+.NETCore7.0+Mysql  发布环境:Liunx+Docker实现功能:文件服务提供接口上传文件和下载文件,服务用于内网访问。实现中遇到的问题:由于文件保存是用的系统自带文件服务。而部署环境是Liunx+Doc......
  • 深入解析ASP.NET Core MVC的模块化设计[下篇]
    ASP.NETCoreMVC的“模块化”设计使我们可以构成应用的基本单元Controller定义在任意的模块(程序集)中,并在运行时动态加载和卸载。《设计篇》介绍了这种为“飞行中的飞机加油”的方案的实现原理?本篇我们将演示将介绍“分散定义Controller”的N种实现方案。源代码从这里下载。一、标......
  • .NET6 + EF Core + MySQL 创建实体和数据库、EFCore 数据迁移、属性导航
    一、创建asp.netcoreweb(MVC)项目二、导包Microsoft.EntityFrameworkCore.DesignMicrosoft.EntifyFrameworkCore.ToolsPomelo.EntityFrameworkCore.MySql三、创建实例这里创建了两个实例namespacedemo.Models{publicclassSupplier{[DatabaseGe......
  • 开源:Taurus.Idempotent 分布式幂等性锁框架,支持 .Net 和 .Net Core 双系列版本
    分布式幂等性锁介绍:分布式幂等性框架的作用是确保在分布式系统中的操作具有幂等性,即无论操作被重复执行多少次,最终的结果都是一致的。幂等性是指对同一操作的多次执行所产生的效果与仅执行一次的效果相同。以下是分布式幂等性框架的主要作用:避免重复操作:在分布式系统中,由于......
  • IISExpress 跨域cookie的奇怪问题
    测试环境WIN10,IIS10,IISExpress10,Chrome120,MicrosoftEdge114网站A端口7001只有1个Default.aspx,无前端代码。逻辑很简单,SetCookie用来把客户端传过来的值写入到cookie中,GetCookie用来将客户端传过来的cookie值再返回给客户端。1protectedvoidPage_Load(objectsende......
  • .Net Core(七) 管道和中间件
    简介管道.NETCore中的管道是一个用于处理HTTP请求的组件。它是ASP.NETCore应用程序的核心部分,负责将传入的HTTP请求传递给适当的处理程序并生成响应。管道由一系列中间件组成,每个中间件都可以对请求或响应进行操作,然后将其传递给下一个中间件或终止请求处理。中间件......
  • C# WinForm基于owin创建WebApi
    在实际的项目开发中,可能会有在WinForm程序中提供Web服务器的需求。通过owin可以很方便的实现,并且可提供Web静态文件访问服务。操作方法:1.在NuGet引用owinMicrosoft.AspNet.WebApi.OwinMicrosoft.AspNet.WebApi.OwinSelfHostMicrosoft.Owin.StaticFiles2.添加服务启动配置类 ......