Do tnet core Web API с ядром EF не подключается к PostgreSQL - PullRequest
0 голосов
/ 09 марта 2020

У меня есть веб-API, разработанный с использованием do tnet core 3.1 и EF core 3.1. Я создал postgreSQL Db в облаке IBM и могу получить к нему доступ, используя PgAdmin. Однако, когда я пытаюсь подключиться к БД через код, я получаю следующую ошибку.

System.Net.Sockets.SocketException: Can't assign requested address at at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName) at at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at at System.Net.Sockets.Socket.Bind(EndPoint localEP) at at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() at at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken) at at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.<>c__DisplayClass21_0``1.<<StartAsync>g__OnBind|0>d.MoveNext() at at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context) at at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context) at at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.AddressesStrategy.BindAsync(AddressBindContext context) at at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(IServerAddressesFeature addresses, KestrelServerOptions serverOptions, ILogger logger, Func 2 createBinding) в Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.StartAsync [TContext] (IHttpApplication 1 application, CancellationToken cancellationToken) at at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken) at at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken) at at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host) at Marketplace.Api.Program.Main(String[] args) in /Users/jayasuryajeyakodi/my/startup/Marketplace/Marketplace.BackEnd/Marketplace.Api/Program.cs:16

Вот как я кодировал в startup.cs

connectionString = "Server=*.databases.appdomain.cloud;Database=*;Port=30331;User Id=ibm_cloud_*;Password=*;

1 Ответ

0 голосов
/ 10 марта 2020

Ваша ошибка не имеет ничего общего с Npg sql или подключением к базе данных. Если вы изучите трассировку стека, то увидите, что Npg sql там нет, и что исключение выдается из Socket.Bind, когда Kestrel пытается настроить ваш транспорт сокетов. Вероятно, существует проблема конфигурации сети, когда вы указали адрес для привязки / прослушивания, и этот адрес недействителен.

...