다음을 통해 공유


연결 문자열이 없습니다.

.NET .NET Aspire코드는 "database"와 같은 임의의 문자열을 사용하여 리소스를 식별합니다. 다른 곳에서 리소스를 사용하는 코드는 동일한 문자열을 사용해야 합니다. 그렇지 않으면 해당 관계를 올바르게 구성하지 못합니다.

증상

앱이 앱의 통합 중 하나가 필요한 서비스에 액세스하는 경우 다음과 유사한 예외로 실패할 수 있습니다.

"InvalidOperationException: 연결 문자열이 없습니다."

가능한 솔루션

리소스 이름(예: 데이터베이스 리소스)이 AppHost 및 실패한 서비스에서 동일한지 확인합니다.

예를 들어, AppHost가 이름 db1로 PostgreSQL 리소스를 다음과 같이 정의하는 경우

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

그런 다음, 서비스는 db1같은 이름을 가진 리소스를 처리해야 합니다.

var builder = WebApplication.CreateBuilder(args);

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

AppHost에 제공된 값이 아닌 다른 값은 위에서 설명한 예외 메시지가 발생합니다.