当我在OS X上运行dnu . kestrel
启动asp.net 5服务器,然后按CTL+C
停止服务器,然后第二次运行dnu . kestrel
,我收到以下例外:
Sullys-MacBook-Pro:Test1App Sully $ dnx。隼
System.Exception:错误-48 EADDRINUSE地址已在使用中 在Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Check(Int32 statusCode)[0x00000] in:0 在Microsoft.AspNet.Server.Kestrel.Networking.Libuv.listen(Microsoft.AspNet.Server.Kestrel.Networking.UvStreamHandle句柄,Int32积压,Microsoft.AspNet.Server.Kestrel.Networking.uv_connection_cb cb)[0x00000] in:0 在Microsoft.AspNet.Server.Kestrel.Networking.UvStreamHandle.Listen(Int32 backlog,System.Action`4回调,System.Object状态)[0x00000] in:0 ^ C
终端就像服务器正在运行一样,因为我必须再次按CTL+C
来终止服务器进程。虽然它正在“运行”,但实际上我无法从浏览器导航到它。
是否有正确的方法在我更改代码时关闭服务器,而不必终止终端,打开新终端,导航到我的项目目录并重新启动红隼?
我在SO上看到过与此相关的其他错误;他们似乎都与Android有关。我没有看到任何与红隼相关的内容以及dnu
EADDRINUSE
答案 0 :(得分:2)
在OS X上按下终端中的Enter键应该停止红场。发生的事情是Cntrl-C将其置于挂起状态,然后您必须找到该进程并为该进程发出unix kill命令。问题https://github.com/aspnet/KestrelHttpServer/issues/26指的是。虽然我确信我会说一个线程说它将被修复,以便Cntrl-C或Cntrl-Z可以在Kestrel的所有环境中工作
答案 1 :(得分:0)
我知道这是一个OSX问题,但在我将--server.urls=http://*:9000
更改为--server.urls=http://*:9000;https://*:9000
以尝试支持https后,我在Windows中收到此异常。它看起来像the semi-colon is not supported。
在使用.UseUrls的RC2中也是如此(“http:// :9000”,“https:// :9000”)