Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 指定网络名称的格式无效:系统重新启动时HTTPListener错误_C#_.net_Windows Services - Fatal编程技术网

C# 指定网络名称的格式无效:系统重新启动时HTTPListener错误

C# 指定网络名称的格式无效:系统重新启动时HTTPListener错误,c#,.net,windows-services,C#,.net,Windows Services,我在c#中实现了一个Http侦听器作为windows服务。windows服务设置为在机器重新启动时自动启动。当我在安装后手动启动服务时,http侦听器工作正常,并响应它收到的请求。但是,在系统重新启动时启动服务时,会出现以下错误: System.Net.HttpListenerException(0x80004005):指定网络名称的格式无效 我在listener.Start()上遇到此错误 http listener的代码如下所示: HttpListener listener = new Ht

我在c#中实现了一个Http侦听器作为windows服务。windows服务设置为在机器重新启动时自动启动。当我在安装后手动启动服务时,http侦听器工作正常,并响应它收到的请求。但是,在系统重新启动时启动服务时,会出现以下错误:

System.Net.HttpListenerException(0x80004005):指定网络名称的格式无效

我在listener.Start()上遇到此错误

http listener的代码如下所示:

HttpListener listener = new HttpListener();
listener.Prefixes.Add("http://myip:port/");
listener.Start();
我从已经提出的问题中得到了一个建议。如果我遵循答案中给出的,它仍然不起作用。 此外,我还试着跑步:

netsh http show iplisten
在powershell中,列表为空。即使http侦听器工作时(当我第一次安装并运行服务时),此命令的输出也是空列表。所以我不认为这是个问题


任何建议都会非常有用。

回答我自己的问题。似乎我们还需要运行一些其他服务才能启动http侦听器。windows启动“我的服务”时,这些服务尚未启动。我找到了两种解决方案,一种是使用延迟启动

sc.exe config myservicename start=delayed-auto
另一种方法是在启动http侦听器时尝试捕获,如果失败,请在几秒钟后重试。在我的例子中,时间是至关重要的,所以我使用第二种方法,因为它比第一种方法快2分钟启动侦听器