我正在撰寫一些針對在 docker 上運行的 SQL Server 實體運行的 aspnetcore 集成測驗。我計劃使用 xUnit 集合并在不同的埠上為特定的測驗集合啟動一個單獨的 SQL Server 容器實體。所以多個 SQL Server 實體在不同的埠上運行。我創建了一個單獨的appsettings.testing.json檔案,將在測驗host開始時加載。此設定 json 檔案具有測驗host開始進行測驗時將用于連接的連接字串。
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"ConnectionStrings": {
"TestDb": "Server=.;Database=MyDb;MultipleActiveResultSets=true;user id=sa;password=Password01!;TrustServerCertificate=True"
}
}
TestDb有沒有辦法讓我在開始測驗時覆寫 key 的值host?與啟動主機之前一樣,我在特定埠上啟動 SQL 容器,并希望host使用修改后的連接字串,該字串將具有port提及并連接到它。
我一直在檢查檔案,但無法理解是否有辦法在運行時執行此操作?
uj5u.com熱心網友回復:
您可以在配置測驗網路主機時覆寫設定:
builder.ConfigureAppConfiguration(configBuilder =>
{
configBuilder.AddInMemoryCollection(new Dictionary<string, string>
{
["ConnectionStrings:TestDb"] = "connection string here"
});
});
在您的情況下,記憶體配置效果最好。您還可以在此處添加用戶機密等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/426963.html
標籤:asp.net 核心 aspnetcore 环境
