我有一个使用HttpSelfHostServer处理客户端请求的Windows应用程序(.NET Framework 4.8)。
string address = "0.0.0.0";
int port = 8550;
var route = "Test/1.0/{controller}";
var baseAddress = new Uri(String.Format("http://{0}:{1}", address, port));
var config = new HttpSelfHostConfiguration(baseAddress);
config.Routes.MapHttpRoute($"Test_{port}", route, new { });
var server = new HttpSelfHostServer(config);
server.OpenAsync();
servers.Add(server);
该应用程序监听所有可用的网卡,多年来一直工作正常。问题是,我现在有一台电脑,它不工作!该应用程序有相同的assamblies加载,并使用Windows 10与最新的更新。
在应用程序运行正常的计算机上,netstat显示以下侦听器;[在此处输入图像描述]
C:\Users\admincod>netstat -na | find "8550"
TCP 0.0.0.0:8550 0.0.0.0:0 LISTENING
TCP [::]:8550 [::]:0 LISTENING
但在电脑上,它不工作,它只会显示后来的职位
TCP [::]:8550 [::]:0 LISTENING
尝试重新安装网络驱动程序并禁用IPv6。我还尝试禁用防火墙,但应该没有必要,因为它只是一个侦听器?
此致
罗贝尔
2条答案
按热度按时间093gszye1#
花了一段时间,但最后我找到了解决我的问题的办法。
使用netsh时,我发现在IPv4上没有任何监听功能
解决方案是简单地添加一个新记录,如
eyh26e7m2#
在防火墙中创建新的传入连接规则。使用端口选项和TCP协议。选择域、公用和专用。输入名称。
就这样