. Я опубликовал веб-Api, внедренный в .Net Core 1.1 в Azure в качестве приложения, но я продолжаю получать сообщение об ошибке ниже, даже когда просматривающие статический HTML-файл:Получение «Ошибка -4089 семейство адресов EAFNOSUPPORT не поддерживается» в. Net Core 1.1. Веб-приложение на Azure.
2016-11-29 16:43:05.594 +00:00 [Warning] Unable to bind to http://localhost:28243 on the IPv6 loopback interface.
System.AggregateException: One or more errors occurred. (Error -4089 EAFNOSUPPORT address family not supported) ---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -4089 EAFNOSUPPORT address family not supported
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.tcp_bind(UvTcpHandle handle, SockAddr& addr, Int32 flags)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvTcpHandle.Bind(ServerAddress address)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListener.CreateListenSocket()
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener.<StartAsync>b__8_0(Object state)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelEngine.CreateServer(ServerAddress address)
at Microsoft.AspNetCore.Server.Kestrel.KestrelServer.Start[TContext](IHttpApplication`1 application)
---> (Inner Exception #0) Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -4089 EAFNOSUPPORT address family not supported
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.tcp_bind(UvTcpHandle handle, SockAddr& addr, Int32 flags)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvTcpHandle.Bind(ServerAddress address)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListener.CreateListenSocket()
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener.<StartAsync>b__8_0(Object state)<---
Я гугл это немного и понял, что есть несколько потоков в мерзавце, но ни один из них не проливают свет в решении этого вопроса. например. один из них предложил загрузить файл host.json, но это тоже не было окончательным. Любые идеи, как решить эту проблему?
У вас есть что-то вроде '.UseUrls ("HTTP: // *: 28243")' в вашем 'Program.cs' или в hosting.json (при загрузке и передать пользовательский хостинг .json в 'WebHostBuilder', используя' .UseConfiguration (...) ''? Если это так, попробуйте использовать '.UseUrls (" http://0.0.0.0:28243 ")'? Во время одной из версий RC был вопрос, где '*: 28343' приведет к тому, что он будет дважды привязываться к IPv6 – Tseng
@Tseng Нет, у меня такого нет вообще. Итак, нужно ли мне просто добавлять .UseUrls (" 0.0.0.0:28243 ") Предполагая, что проблема будет решена? – Arash
Ну, у меня была аналогичная проблема во время DNX, и она была вызвана подстановочным знаком '*' как имя хоста. https://github.com/aspnet/KestrelHttpServer/issues/766. Также вы вызываете 'UseKestrel()' до или после 'UseIISIntetgration()'? Порядок - это imp ortant и '.UseIISIntegration()' нужно вызывать после 'UseKestrel()', поскольку он переопределяет его настройки. – Tseng