http.sys 中的通配符注册与环回地址不匹配

Wildcard registration in http.sys doesn't match loopback addresses

我在 http://127.0.0.1:2113/ 上托管了一项服务,并在 http.sys

中进行了以下 URL 注册
http://*:2113/

但是,由于某种原因服务抛出异常

System.Net.HttpListenerException (0x80004005): Access is denied
HTTP async server failed to start listening

如果我也添加URL注册

http://127.0.0.1:2113/

到http.sys,然后就可以了。 如果我在 http://localhost:2113/

上托管服务,就会出现相同的情况

谁能解释一下?我已经在 http.sys 中阅读了有关通配符注册的信息,据我所知,它也应该与这些地址匹配。 也许我应该补充一点,我已经仔细检查过我在端口 2113 上没有任何其他注册。

您使用 netsh.exe (http://*:2113/) 注册的地址必须与您提供给 HttpListener 的地址完全匹配,这是 http.sys 的要求。