由于服务器故障,昨天重做了系统,之后.net core 程序就一直出现错误,通过系统日志都是同样错误:Application 'MACHINE/WEBROOT/APPHOST/domain.COM' with physical root 'E:\wwwroot\User\' created process with commandline '"dotnet" .\***.dll' but failed to listen on the given port '27443'。
另:与这个错误同时出现的是
错误应用程序名称: w3wp.exe,版本: 7.5.7601.17514,时间戳: 0x4ce7afa2
错误模块名称: ntdll.dll,版本: 6.1.7601.24117,时间戳: 0x5add228d
异常代码: 0xc000070a
直接在命令行下用 dotnet 命令能正常运行吗?
可以,命令能正常运行,在iis站点也能正常运行。
@Impossible: 安装 .NET Core 2.1 Hosting Bundle (v2.1.0) 试试
@dudu: 我们现在用的是.net core 2.0版本,跟这个有关么?
@Impossible: 试试修改一下IIS应用程序池的账户
@dudu: 我改成LocalSystem试试。看还会不会出现这个错误
@dudu: 还是不是的出现这个错误
错误应用程序名称: w3wp.exe,版本: 7.5.7601.17514,时间戳: 0x4ce7afa2
错误模块名称: ntdll.dll,版本: 6.1.7601.24117,时间戳: 0x5add228d
异常代码: 0xc000070a
错误偏移量: 0x00000000000138e7
错误进程 ID: 0x24f4
错误应用程序启动时间: 0x01d3fb4291f10972
错误应用程序路径: c:\windows\system32\inetsrv\w3wp.exe
错误模块路径: C:\Windows\SYSTEM32\ntdll.dll
报告 ID: 6857f758-67a5-11e8-83bc-b28815f8e737
@Impossible: 重做系统前没这个问题?
@dudu: 没,现在出现的频率很高,一会不登录服务器,就弹出好些
查看对应的windows日志就是上边的错误。
@Impossible: 操作系统版本是多少?IIS应用程序池是32位还是64位?.net core sdk的具体版本号是多少?
@dudu: Windows Server 2008 R2 DataCenter ,IIS应用程序池64位。sdk 2.1.105
@Impossible: 是 Windows Server 2008 R2 SP1
吗?
@dudu: 是
@Impossible: 代码中有没有同步方法中调用异步方法的地方
@dudu: 没有,先前都已经全部改过来了。
@Impossible: 建议使用同样版本的.net core sdk重新发布试试
@dudu: 发现了出现这个错误的一个规律,每次当我停止或暂停应用程序池的时候,就会出现上边图的vs调试器。查看任务管理器该进程对应的用户名确实是应用程序的名称。
@Impossible: 那应该还是代码中的问题引起的
大体意思是 端口倾听失败了,看看是不是端口被占用了
netstat -n