先说一下大致情况,最近在做项目,遇到了一个 webapi 部署后 websocket 无法正常连接的问题,在解决过程中要创建一个新的环境来调测程序,以确定问题重现的环境。

用虚拟机创建了一台虚拟服务器,装的 Windows Server 2008 R2 X64 系统,IIS 版本 7.5,在创建 webapi (.netcore 版本 3.1)项目后没有生成 webconfig配置文件,正常部署上去无法使用,后来就在项目中新增了 webconfig

当程序再次部署上去后提示 “HTTP 错误 500.21 - Internal Server Error 处理程序“aspNetCore”在其模块列表中有一个错误模块“AspNetCoreModule” ”


苦思良久找不到解决办法,检查了IIS 模块和dotnet 运行环境,按照安装要求上是没有问题的,那问题出在哪里了呢?

锁定webconfg配置文件,把demo项目的webconfig和公司项目的webconfig拿来对比,发现问题所在了


公司项目中的 processPath 和 arguments 指向不一样,processPath 指向 dotnet, arguments 指向 运行程序路径,所以修改这两个参数就ok了

修改后的内容: