发布IIS .NET8 ASP.NET Core 应用站点踩坑
应用程序池设置为 无托管代码
ASP.NET Core 应用在 IIS 上的应用程序池必须设「.NET CLR 版本 = 无托管代码」
之前设成了托管代码(如 .NET CLR v4.0),IIS 就会走老的 ASP.NET 托管管道,和 ANCM(AspNetCoreModuleV2)抢着处理请求,结果把 POST body 给吞了——这正是「GET 正常、POST 全挂、body 读成空」的现象。所以前面改 hostingModel 没效果,因为问题压根不在托管模式,而在应用池的 CLR 设置。

App_Data 分配读写权限
如果该目录存放读写的文件,如:json, sqlite数据库。必须分配IUSR/IIS_IUSRS用户权限。
也可以使用cmd命令执行:
PowerShell 全选
icacls "C:\Webs\www.xxx.com" /grant "IIS AppPool\www.xxx.com":(OI)(CI)M /T
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网





