首页 新闻 会员 周边 捐助

为什么.net core发布IIS会进程占用,而.net framework不会

0
[已解决问题] 解决于 2022-10-14 16:02

为什么.net core发布IIS会进程占用,而.net framework不会

问题补充:

感谢各位的回答,但是我的问题是想知道【为什么.net core会占用, .net framework不会占用】
关于.net core发布IIS进程占用的解决方案我已知晓(停止应用程序池/app_offline.html

复制粘贴机器人的主页 复制粘贴机器人 | 小虾三级 | 园豆:720
提问于:2022-10-12 16:53
< >
分享
最佳答案
0

IIS占用是应该的,因为可能有正在处理的请求以及预热的缓存。.net framework有时候也会占用的,只是你如果没有请求的时候,会关掉,他们之间配合得好,因为.net framework你可以理解为每次请求完都关掉了,不提供应用本身的上下文,它的上下文都有iis里面,由iis维护。但是.net core并不是,.net core里面你用的di之类的,都有上下文的,程序不能说关就关,所以,其一直在进程 里面,替换文件时当然不行。你可以在目录下放置一个文件,其名字为 app_offline.htm 时,iis会自动关掉对.net core的占用,此时替换文件,然后再把app_offline.htm改为别的。这也是官方建议的作法。

奖励园豆:5
ensleep | 小虾三级 |园豆:1682 | 2022-10-14 15:45
其他回答(4)
0

采用 in-process hosting 也有这个问题吗?

相关链接:

dudu | 园豆:30757 (高人七级) | 2022-10-12 20:19

in-process是有这个问题,没用过OutOfProcess。搜的也都是解决方法,就是不知道为什么。能理解有进程占用,但是反而不能理解.net framework为什么没有.....

支持(0) 反对(0) 复制粘贴机器人 | 园豆:720 (小虾三级) | 2022-10-12 20:28

@复制粘贴机器人: 可能与 kestrel 有关,基于 .net framework 的 asp.net 并没有自己的 web 服务器,用的还是 IIS

支持(0) 反对(0) dudu | 园豆:30757 (高人七级) | 2022-10-12 21:02
0

.NET Core的部署通常还是建议在linux下,支持跨平台。

楠木大叔 | 园豆:2083 (老鸟四级) | 2022-10-12 23:17
0

每个IIS站点有一个对应的"应用程序池"
你发部站点的时候,要把对应站点的"应用程序池"停止就不会有问题了.

Giant150 | 园豆:1172 (小虾三级) | 2022-10-13 14:20
0

关掉IIS 发布

Tom.汤 | 园豆:3058 (老鸟四级) | 2022-10-14 08:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册