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

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考过去时没问题的。

相关文章:

  • 行为型-观察者模式
  • php常用设计模式应用场景及示例
  • 超实用!免费软件站大盘点,总有一款适合你
  • 【兆易创新GD32H759I-EVAL开发板】 TLI(TFT LCD Interface)用法详细介绍
  • MySQL调优之SQL语句
  • 从历年315曝光案例,看APP隐私合规安全
  • el-form 的表单校验,如何验证某一项或者多项;validateField 的使用
  • 面试经典-34-验证回文串
  • Github主页设置贪吃蛇详细教程
  • 对AQS的理解
  • coingecko获取token price --php版
  • PTA模拟+数学分析
  • Linux中的文件类型
  • 分享常用的62 个九宫格抽奖及各种宫格效果源码
  • 【Linux】Centos7上安装MySQL5.7
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Js基础知识(一) - 变量
  • JS专题之继承
  • mongodb--安装和初步使用教程
  • MySQL QA
  • session共享问题解决方案
  • vuex 学习笔记 01
  • Web Storage相关
  • 后端_ThinkPHP5
  • 通过npm或yarn自动生成vue组件
  • 一些css基础学习笔记
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​flutter 代码混淆
  • #DBA杂记1
  • #NOIP 2014#Day.2 T3 解方程
  • (14)Hive调优——合并小文件
  • (70min)字节暑假实习二面(已挂)
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (简单) HDU 2612 Find a way,BFS。
  • (七)Knockout 创建自定义绑定
  • (三)模仿学习-Action数据的模仿
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .net反编译的九款神器
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET上SQLite的连接
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @Autowired自动装配
  • @EnableConfigurationProperties注解使用
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @JoinTable会自动删除关联表的数据
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [BZOJ2208][Jsoi2010]连通数
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)
  • [C#]扩展方法
  • [C/C++] -- 二叉树