Owin WebApp Dispose不发布URL注册

时间:2019-07-18 21:46:56

标签: c# signalr signalr-hub

我正在.Net Windows服务(使用Microsoft.Owin v4.0.1.0)中使用SignalR。由于应用程序的要求,我需要能够停止并稍后重新启动SignalRHub。我这样做的代码是

HubWebApp = WebApp.Start(HubURL)

然后再来

HubWebApp.Dispose()

然后稍后:

HubWebApp = WebApp.Start(HubURL)

问题是,当我在较早处置WebApp停止SignaRHub后第二次启动WebApp时,出现错误:

  

“无法监听前缀'http://172.16.4.55:8080/',因为它   与计算机上的现有注册冲突”。

因此,当我处置WebApp时,它似乎并没有释放URL注册,而当我重新启动它时,它拒绝在该URL上使用新的侦听器。

我尝试弄乱netsh http,但是删除不起作用,并且show不显示现有注册。

处置WebApp时如何释放URL注册?

1 个答案:

答案 0 :(得分:0)

从未找到注销URL的解决方案。我最后要做的是,如果重新启动集线器会引发异常(Environment.Exit(1)),则对服务进行编码以使错误退出。然后在服务管理器中将服务配置为在错误退出时自动重新启动。

这真是个头戴纸袋的想法,但这是我目前最好的答案。