2016-11-07 131 views
0

我试图按照步骤在这里得到一个ASP.net核心运行在Ubuntu上误差Asp.NET核心Linux上

https://docs.asp.net/en/latest/getting-started.html

我跟着步骤来安装.NET的核心和验证运行正常。

的ASP应用程序建立没有错误,但是当我尝试运行ASP应用程序,“DOTNET运行”下面的异常被抛出:

未处理的异常:System.AggregateException:出现一个或多个错误。 (错误-98 EADDRINUSE地址已在使用中)---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException:错误-98 EADDRINUSE地址已在使用 在Microsoft.AspNetCore.Server.Kestrel.Internal.Networking。 Libuv.Check(的Int32的StatusCode) 在Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvTcpHandle.GetSockIPEndPoint() 在Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListenerPrimary.CreateListenSocket() 在Microsoft.AspNetCore .Server.Kestrel.Internal.Http.Listener。 <> c.b__6_0(对象状态) ---以前位置抛出异常的堆栈跟踪结束--- 位于System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 位于System.Runtime.CompilerServices。 TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerPrimary.d__11.MoveNext() --- End of internal exception stack trace --- at System.Threading.Tasks.Task .ThrowIfExceptional(布尔includeTaskCanceledExceptions) 在Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelEngine.CreateServer(ServerAddress地址)在System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.KestrelServer.Start [TContext](IHttpApplication`1 application) at Microsoft.AspNetCore.Hosting.Internal.WebHost.Start() at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost主机的CancellationToken令牌,字符串shutdownMessage) 在Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost主机) 在WebApplication.Program.Main(字串[] args)

我已搜索周围的webz用于一个解决方案,但找不到任何东西。

任何想法?

+0

基本错误是手动终止进程:在 – McNets

+0

错误-98 EADDRINUSE已在使用中的Windows地址比Linux更稳定?这是一个非常好的笑话。 – user714157

回答

0

系统上的一些其他程序已经在使用ASP.NET Web服务器试图绑定到的端口(可能是另一个开发Web服务器)。使用命令sudo netstat -ltp找出正在监听的内容,并使用in the relevant issue on the ASP.NET github所述的其中一种技术(例如,使用其他端口)来停止正在执行或者使ASP.NET Web服务器使用另一个端口的服务器。通过调用dotnet run --server.urls http://0.0.0.0:1234

+0

没有其他人在该端口上收听。还尝试了与服务器URL参数一起运行的dotnet,这并不起作用。唯一为我工作的是添加.UseUrls(“http:// *:5000”)到Program.cs – user714157

0

一般发生该错误是由于关闭了的网站,并终止托管不规则(错过 'CTRL + C',而不是可能与 'Ctrl + Z');但是,TCP:(港口)仍然可以听,你已经终止或“杀-9 PID