連接字串遺失
在 .NET.NET Aspire中,程式代碼會使用任意字串來識別資源,例如 “database”。 在其他地方取用資源的程式代碼必須使用相同的字串,否則將無法正確設定其關聯性。
癥狀
當您的應用程式存取需要應用程式中某個整合的服務時,可能會發生類似以下的例外錯誤:
“InvalidOperationException:ConnectionString 遺失。”
可能的解決方案
確認 AppHost 中資源的名稱,例如資料庫資源,與失敗的服務相同。
例如,如果 AppHost 定義了一個名稱為 db1
的 PostgreSQL 資源,如下所示:
var db1 = builder.AddPostgres("pg1").AddDatabase("db1");
然後,服務必須解析名稱相同的資源 db1
。
var builder = WebApplication.CreateBuilder(args);
builder.AddNpgsqlDbContext<MyDb1Context>("db1");
除了 AppHost 中提供的值之外的任何其他值都會導致上面描述的例外狀況。