IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

2025-12-13 0 481

1、概述

与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已。

这里我要做的是将一个asp.net core web api项目部署到iis上,同时包括将swagger也部署到iis,具体是在这篇文章基础上,不明白的先看这个文章。

Asp.net core Web Api 配置swagger中文_hqwest的博客

2、安装IIS

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

安装完成,在控制面板–管理工具中可以看到Internet Information Services (IIS)管理器

3、运行环境配置

部署asp.net core web api项目需要安装环境,IIS默认是不支持的,支持环境需要安装net core运行时: dotnet-hosting-5.0.17-win.exe,原因就是前面概述中讲的,.net core项目不是由iis工作进程(w3wp.exe)托管,需要先下载dotnet-hosting-5.0.17-win.exe

下载地址:下载 .NET 5.0下载 .NET 5.0 (Linux、macOS 和 Windows)

如果你是64位就点X64,如果是32位就点X86,根据你自己系统来选择下载 .NET 5.0

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

总之下载的就是这个,因为我的项目框架就是.net5,所以下的就是这个,如果你是.net6或7那就要对应的,总之是与你的项目框架是什么版本有关,要对应起来。

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

然后点击运行安装,然后在IIS工具可以看到

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

就是这个骚骚骚的东西,害死人,必须要。模块中存在就说明环境已经安装好了,没有的话多重启几下IIS 或者重新再装一次

4、修改项目配置

1、修改launchSettings.json

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

2、修改startup.cs中的Configure方法

原来是这样的

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

49行修改成红色框这样的,实际是增加了一行代码c.RoutePrefix = \”\”;这个的意思是去掉路由的前缀。只改49行,其他都不要动。

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

3、修改属性HouseSysWebApplication.xml

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

保存重新生成,启动项目,界面是这样的,地址栏中没有swagger这个地址,这才是正确的,说明在VS上成功了。

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

4、创建发布的目的

首先在D盘创建目录,D:\\website\\HouseApp,目录位置随你自己定,这里是D:\\website\\HouseApp

并选择目录>右键>属性>安全>编辑,也就是要给这个目录添加everyone组的权限

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

5、发布项目

项目右键-》发布

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

发布的位置就是前面创建的目录

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

完成,开始发布

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

6、IIS操作

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

这一步非常重要,重要得屌炸天。

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

7、修改web.config文件

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

用VS打开,添加一行内容

原来是这样的

1

2

3

4

5

6

7

8

9

10

11

12

<?xmlversion=\”1.0\”encoding=\”utf-8\”?>

<configuration>

<locationpath=\”.\”inheritInChildApplications=\”false\”>

<system.webServer>

<handlers>

<addname=\”aspNetCore\”path=\”*\”verb=\”*\”modules=\”AspNetCoreModuleV2\”resourceType=\”Unspecified\”/>

</handlers>

<aspNetCoreprocessPath=\”dotnet\”arguments=\”.\\HouseSysWebApplication.dll\”stdoutLogEnabled=\”false\”stdoutLogFile=\”.\\logs\\stdout\”hostingModel=\”inprocess\”/>

</system.webServer>

</location>

</configuration>

<!–ProjectGuid: A8FF705C-E12B-4F1A-87CE-47C8BC7A2C36–>

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

增加一个内容

1

2

3

<environmentVariables>

<environmentVariablename=\”ASPNETCORE_ENVIRONMENT\”value=\”Development\”/>

</environmentVariables>

完整的内容是这样的

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<?xmlversion=\”1.0\”encoding=\”utf-8\”?>

<configuration>

<locationpath=\”.\”inheritInChildApplications=\”false\”>

<system.webServer>

<handlers>

<addname=\”aspNetCore\”path=\”*\”verb=\”*\”modules=\”AspNetCoreModuleV2\”resourceType=\”Unspecified\”/>

</handlers>

<aspNetCoreprocessPath=\”dotnet\”arguments=\”.\\HouseSysWebApplication.dll\”stdoutLogEnabled=\”false\”stdoutLogFile=\”.\\logs\\stdout\”hostingModel=\”inprocess\”>

<environmentVariables>

<environmentVariablename=\”ASPNETCORE_ENVIRONMENT\”value=\”Development\”/>

</environmentVariables>

</aspNetCore>

</system.webServer>

</location>

</configuration>

<!–ProjectGuid: A8FF705C-E12B-4F1A-87CE-47C8BC7A2C36–>

8、修改网站默认首页

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

9、启动网站

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

点击第一个接口,效果还是很好的

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

这才是我们要的,后端写的接口不能只在自己的电脑上,而应该是在局域网的某台服务器上,这样项目成员才能通过浏览器访问接口,重新上面步骤,同样可以部署在公网上,这样在internet上就可以看到接口文档了,如

IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)

到此这篇关于IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文)的文章就介绍到这了,更多相关IIS部署ASP.NET Core Web Api项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 IIS上部署你的ASP.NET Core Web Api项目及Swagger(图文) https://www.zuozi.net/36484.html

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务