Udostępnij za pośrednictwem


Brak łańcucha połączenia

W .NET.NET Aspirekod identyfikuje zasoby przy użyciu dowolnego ciągu, takiego jak "baza danych". Kod korzystający z zasobu w innym miejscu musi używać tego samego ciągu lub nie będzie można poprawnie skonfigurować relacji.

Objawy

Gdy aplikacja uzyskuje dostęp do usługi wymagającej jednej z integracji w aplikacji, może zakończyć się niepowodzeniem z wyjątkiem podobnym do następującego:

InvalidOperationException: Brakuje ConnectionString.

Możliwe rozwiązania

Sprawdź, czy nazwa zasobu, na przykład zasobu bazy danych, jest taka sama w hostie AppHost i usłudze, która kończy się niepowodzeniem.

Jeśli na przykład host AppHost definiuje zasób PostgreSQL o nazwie db1 w następujący sposób:

var db1 = builder.AddPostgres("pg1").AddDatabase("db1");

Następnie usługa musi rozpoznać zasób o tej samej nazwie db1.

var builder = WebApplication.CreateBuilder(args);

builder.AddNpgsqlDbContext<MyDb1Context>("db1");

Każda inna wartość niż podana w obiekcie AppHost spowoduje wyświetlenie komunikatu wyjątku opisanego powyżej.