【发布时间】:2010-06-28 14:37:57
【问题描述】:
我有一个在端口 8080 上运行 HTTPListener 的 .net 服务。
在这种情况下,我们在与服务器相同的机器上运行客户端,连接到 localhost:8080。
在我们的演示机器上(太棒了!),当互联网没有连接时,所有到服务器的连接都会失败。
我的日志中有两个错误:
The I/O operation has been aborted because of either a thread exit or an application request at System.Net.HttpListener.EndGetContext(IAsyncResult asyncResult)
与
Unexpected error: The handle is invalid
当我在演示机器上运行 netstat 时,我注意到 使用 网络连接,故障机器有一个本地地址在 COMPUTERNAME:8080 上侦听。但是,其他工作机器在这个地方列出了 0.0.0.0:8080。
似乎没有任何防火墙在运行。
编辑:演示机器是 Windows XP,以前也发生过这种情况(也在 Windows XP 机器上),但我目前无法重现它,即使在 Windows XP 安装上也是如此。)
知道问题是什么吗?
【问题讨论】:
-
自调用地址不是127.0.0.1吗?
-
@Adam 我们通常使用 localhost:8080 调用它,但在发布之前我也尝试使用 127.0.0.1,但结果相同。
-
您是否尝试过常规的网络诊断?例如,是否启用了 TCP/IP 协议?如果您 ping 127.0.0.1 会发生什么?
-
当它工作时,我也会做一个tracert localhost。它应该是自己的一跳,没有别的。
-
Pinging 和 Tracert 都可以在 localhost 和 127.0.0.1 上工作,无论是否连接到互联网
标签: .net web-services localhost