asp.net core项目发布到 iis上

我们都知道与传统asp.net 项目比较,ASP.NET Core则完全不同,它并不是运行在IIS的工作进程中,而是独立运行的。它运行于控制台应用程序之中,控制台中则运行了Kestrel Web服务器组件。Kestrel作为一款.NET Web服务器的实现,它在吞吐量性能方面做了很多工作。它可以快速将来自网络的请求接入到应用程序中,但是它仅仅是一个最基本的Web服务器。它没有类似IIS的Web管理服务,也没有IIS那么多的功能。

ASP.NET Core程序独立运行在控制台应用程序中,并通过dotnet运行时命令调用。它并没有被加载到IIS工作进程中,但是IIS却加载了名为AspNetCoreModule的本地Module,这个Module用于执行外部的控制台程序。AspNetCoreModule是作为ASP.NET Core Server Hosting Bundle的一部分被安装在服务器上的。

安装 .NET Core 托管捆绑包

在托管系统上安装 .NET Core 托管捆绑包。 捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块允许 ASP.NET Core 应用在 IIS 后面运行。

使用以下链接下载安装程序:

当前 .NET Core 托管捆绑包安装程序(直接下载)

  1. 在 IIS 服务器上运行安装程序。

  2. 重启服务器或在命令行界面中执行 net stop was /y,接着执行 net start w3svc。

安装好了后,如果你在IIS上模块里面看到AspNetCoreModule,表示安装成功:

在IIS上绑定添加网站

添加一个网站,设置一下名称,并将路径指向你刚才发布的文件夹,然后启动网站即可

设置应用程序池的.NET CLR版本为"无托管代码",因为刚才也说了,IIS是作为一个反向代理的角色,并不需要它来托管代码:

浏览网站

发布成功!!!

相关推荐
陈随易21 分钟前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
量化分析码农33 分钟前
【Python量化波动率实战 04】低波动异象:低波组真的跑赢高波组吗
后端
风上猫1 小时前
MySQL多值索引:让 JSON 数组也能走索引(以及 6 个容易踩的坑)
后端
qq_371802112 小时前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
苏三说技术3 小时前
聊聊Redisson最常见的8个坑
后端
坤坤子吖4 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
say_fall5 小时前
【AI大模型】MCP 模型上下文协议:客户端-服务器架构、JSON-RPC 消息与能力协商、工具发现与调用链路、与函数调用的分工
服务器·人工智能·架构
学长毕设6 小时前
基于SpringBoot的野生动物公益保护平台设计与实现-附源码
java·spring boot·后端
梦里寻码6 小时前
我用 NestJS + Vue3 写了一套完整的研发管理系统(58 表 / 229 API / 130 项断言,全开源
前端·后端·算法