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

IIS部署.NetCore/.Net8/.Net9项目(从装环境到配置Swagger)

一、介绍

随着.NetCore开源、以及版本的更新迭代,.NetCore的性能越来越好、功能也越来越丰富,作为纯后端提供Api已经变得越来越频繁,与之配套的接口组件Swagger也成为很多人的选择。下面介绍在IIS上部署Swagger的详细过程。

二、安装IIS服务器

 Internet Information Services下的内容最好全部安装,我这里仅没装FTP相关的东西,如果大家需要的话可以自行安装。

三、安装.NetCore项目的IIS支持包

安装了HostingBundle包就不用再单独安装Runtime,安装成功后要重启IIS和重启电脑

四、设置IIS应用程序池版本

无论是.Net6、.Net8项目我都改成了无托管代码(No Managed Code)。等Swagger首页能正常访问后,我把设置改回了v4.0,发现项目仍然能正常访问。我会再查一下两者的区别,暂时先用无托管代码。

五、设置IIS应用程序池是否启用32位应用程序

发布项目的时候如果是64位发布的,IIS部署的时候需 "启用32位应用程序" 要关闭掉,如果是32位的这里要开启。

六、访问时报错

这里会有两个常见问题,第一个是项目发布后ASPNETCORE_ENVIRONMENT为Production时默认会关闭swagger;第二个是通过IIS发布项目的默认访问的首页是 http://localhost:8001,如果我们的API项目使用了Swagger就会报404错误。

对第一个问题项目发布后往往默认为Production环境,我们将其手动修改为Development即可解决,打开发布到IIS的文件夹下的web.config文件,添加environmentVariables部分代码。对第二个问题应该访问完整的首页url: http://localhost:8001/swagger/api

<aspNetCore processPath="dotnet" arguments=".\WebApiApp1.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development"/>
  </environmentVariables>
</aspNetCore>



七、总结

IIS部署.NetCore其实是个挺常见、不复杂的事,但部署项目这个操作不太会经常发生,以至于长时间不用的话有些细节就记不清楚了,所以我在这里做个总结整理,希望能对大家有所帮助。如果大家愿意点赞、收藏、评论,那我更是感激不尽。


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

相关文章:

  • RabbitMQ介绍与使用
  • 【面试题】技术场景 4、负责项目时遇到的棘手问题及解决方法
  • 如何在 Linux系统用中挂载和管理磁盘分区
  • 设计模式学习[15]---适配器模式
  • Flutter:封装一个自用的bottom_picker选择器
  • 【算法】字符串算法技巧系列
  • 算法面试1
  • HTML5 渐变动画(Gradient Animation)
  • 给定差值的组合
  • day03-前端Web-Vue3.0基础
  • 面向对象分析与设计Python版 面向对象分析方法
  • 机器学习:一元线性回归
  • Python基于jieba和wordcloud绘制词云图
  • gateway在eureka注册报java.lang.IndexOutOfBoundsException
  • Qt监控系统远程网络登录/请求设备列表/服务器查看实时流/回放视频/验证码请求
  • 基于Spring Boot的宠物健康顾问系统的设计与实现(LW+源码+讲解)
  • 国产编辑器EverEdit - 扩展脚本:关闭所有未修改文档
  • Docker Desktop的使用方法
  • 什么是Transformer模型中的KV缓存:上下文新增那之前计算的KV还可用,在原有基础上对新增的进行计算就行
  • opencv 学习(3)
  • js代理模式
  • 用c实现C++类(八股)
  • 【网络云SRE运维开发】2025第2周-每日【2025/01/09】小测-【第9章 VRRP原理及基本配置考试】理论和实操
  • UniAPP和Vue3生命周期hook
  • 【计算机网络】课程 实验二 交换机基本配置和VLAN 间路由实现
  • mysql和redis的最大连接数