当前位置: 首页 > article >正文

IIS上部署.netcore WebApi项目及swagger

.netcore项目一般是直接双击exe文件,运行服务,今天有个需求,需要把.netcore项目运行在IIS上,遇到了一个小坑,在这里记录一下。

安装IIS,怎么部署站点,这些过于简单就不细说了,不知道的可以百度一下。

概述

与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默认是不支持的,支持环境需要安装net core运行时: dotnet-hosting-3.1.32-win.exe,原因就是前面概述中讲的,.net core项目不是由iis工作进程(w3wp.exe)托管,需要先下载dotnet-hosting-3.1.32-win.exe

下载地址:下载 .NET Core 3.1

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

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

AspNetCoreModuleV2必须要。模块中存在就说明环境已经安装好了,没有的话多重启几下IIS 或者重新再装一次。

应用程序池选择无托管代码,集成

到这里本次遇到的坑要来了,如果你的swagger在本地运行正常,程序考过来放到站点中,运行是没问题的,第一次部署要先发布,把发布后的文件拷到站点下可正常预览,我把debug下的文件考过来,运行一直报错,提示404,当时想着测试环境,发布还要浪费时间,直接把debug考过去算了。。。第一次发布之后,后面有修改,把debug的dll考过去时没问题的。


http://www.kler.cn/a/272039.html

相关文章:

  • SpringBoot集成Flink-CDC,实现对数据库数据的监听
  • 靶机复现-pikachu靶机文件包含漏洞
  • 2024年智慧消防一体化安全管控年度回顾与2025年预测
  • YOLOv8改进,YOLOv8检测头融合DSConv(动态蛇形卷积),并添加小目标检测层(四头检测),适合目标检测、分割等
  • Linux编译安装Netgen/NGSolve
  • PostgreSQL数据库的运行机制和架构体系
  • Mysql 索引、锁与MVCC等相关知识点
  • webpack5零基础入门-10babel的使用
  • 第三篇 - 概述- IAB受众和技术标准 - IAB视频广告标准《数字视频和有线电视广告格式指南》
  • 【AI】机器学习是什么?
  • 【Fitten Code】“吊打“Github Copilot的国内免费代码辅助插件
  • 在idea中配置tomcat服务器,然后部署一个项日
  • Redis的安全配置有哪些建议?如何防止未授权访问?Redis的监控与告警策略是怎样的?如何及时发现并解决潜在问题?
  • 修复 error Delete `␍` prettier/prettier 错误
  • excel封装和ddt D17
  • 使用VLC实现自动播放视频
  • 对象的组合复用学习笔记
  • electron 学习
  • C++ 多路音频pcm混音算法
  • Web核心,HTTP,tomcat,Servlet
  • 力扣练习题2
  • 文件夹秒变应用程序?别慌,数据恢复有妙招!
  • 安装Pytorch——CPU版本
  • Rust 的 HashMap
  • 04- 人有多大胆,地有多大产 到 按需分配 - sealed JDK17
  • Python电梯楼层数字识别