每次我尝试调试我的asp.net网站时都会收到此错误:
无法启动IIS Express Web服务器。
无法注册网址" http://localhost:50010/"对于网站 " SociopackWebAPI"申请" /"。错误描述:该过程 无法访问该文件,因为它正由另一个进程使用。 (0x80070020)
在eventviewer中,我在日志中发现了这个错误:
app pool的工作流程' Clr4IntegratedAppPool',PID =' 13248', 当被要求启动时,无法初始化http.sys通信 处理http请求因此将被W3SVC视为生病 并终止。数据字段包含错误编号。
我认为这意味着我的Clr4IntegratedAppPool没有足够的权限?我该如何解决这个问题?
答案 0 :(得分:5)
IIS Express 无法正常启动的一个原因可能是它要使用的端口被保留。如果您要使用的端口未在使用中,它将不会显示在 netstat -an | findstr <your port number>
中。
您可以更改您使用的端口或删除预留。
查看预订(高级命令提示符):netsh int ipv4 show excludedportrange protocol=tcp
Protocol tcp Port Exclusion Ranges
Start Port End Port
---------- --------
80 80
443 443
50000 50059 *
* - Administered port exclusions.
如果保留范围未与 netsh int ipv4 delete excludedportrange protocol=tcp startport=50000 numberofports=60
一起使用,您可以删除它。应该回复 Ok.
如果您收到 Access denied.
,那是因为该范围当前正在使用中。您必须关闭使用端口的程序才能创建与范围相交的预留。
如果您想再次创建范围,请使用 netsh int ipv4 add excludedportrange protocol=tcp startport=50000 numberofports=60
。
我遇到了这个问题,因为我最近安装了 Hyper-V 和 Docker,而我的 IIS Express 在我的事件日志中抛出了 ID 为 2269 的错误事件:
The worker process for app pool 'Clr4IntegratedAppPool', PID='12345', failed to initialize the http.sys communication when asked to start processing http requests and therefore will be considered ill by W3SVC and terminated. The data field contains the error number.
随后是 2276:
The worker process failed to initialize correctly and therefore could not be started. The data is the error.
我的解决方案来源:Docker for Windows – Port Reservations | Developer Musings
答案 1 :(得分:0)
“进程无法访问该文件,因为它正被另一个进程使用”通常意味着该端口上还有其他内容正在侦听。也许你两次开始使用同一个应用程序?
答案 2 :(得分:0)
如果找不到解决方案,请尝试此方法,它对我有用。 窗口+ R->输入Regedit并转到Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP 将名称“开始”的值从4更改为3。 完成。
答案 3 :(得分:0)
确保服务Application Host Helper Service
正在运行。
答案 4 :(得分:0)
这对我有用:
我只做#2是因为我所拥有的特权已经正确了。
打开提升的命令提示符窗口。单击“开始”,指向“所有程序”,单击“附件”,右键单击“命令提示符”,然后单击“以管理员身份运行”。类型:
net stop w3svc
net stop http
net start w3svc
net start http
答案 5 :(得分:0)
这发生在我用 VS2019 打开旧解决方案时。这里没有一个答案对我有用。所以我选择了不同的方法。
我创建了一个新的 ASP.NET 解决方案并查看了它使用的端口。它使用的是 61384
。
然后我关闭了我的解决方案并打开了 .sln 文件并更改了端口。
重新加载解决方案后,它起作用了。
答案 6 :(得分:-1)
我对VS2017 / IIS Express 10有完全相同的问题。 尝试了一些提示&amp;在论坛上发现的技巧,但唯一能够明确修复错误的是: