5

我创建了一个运行AppHostHttpListenerBase. 我可以通过监听服务器的私有 IP 地址来让它监听远程请求(例如http://1.2.3.4:8080/。在这种情况下,我可以使用服务器的公共 IP 地址在 Internet 上使用服务,但在服务器上执行的请求会http://localhost:8080/失败。

如果我将绑定地址改成http://*:8080/,则请求localhost成功,但无法再跨互联网访问服务器;我收到 503 服务不可用。

有什么想法可以让我的 Web 服务同时监听本地请求和 Internet 上的请求吗?

而且,同样重要的是,为什么当放宽对从特定 IP 的侦听地址的限制到*Internet 上的 do 请求时突然开始失败?

4

1 回答 1

5

可能是某个其他侦听器已经在处理该请求,而 * 仅匹配那些未处理的侦听器。我只是试着听听,http://+:8080/希望对你有帮助。有关 HttpListenerPrefix 的更多信息,请参阅https://msdn.microsoft.com/en-us/library/system.net.httplistenerprefixcollection.add(v=vs.110).aspx

于 2013-08-19T15:18:13.813 回答