我們存儲我們的一些敏感按鍵和連接字符串中的連接串中檢索Web應用程序的連接字符串下的Web App應用程序設置部分:使用ConfigurationBuilder
我們檢索使用的配置設置ConfigurationBuilder
:
Configuration = new ConfigurationBuilder()
.SetBasePath(environment.ContentRootPath)
.AddEnvironmentVariables()
.Build();
我本來期望AddEnvironmentVariables()
拿起這些連接字符串,b它沒有。請注意,如果您在Web應用程序中將這些值設置爲「應用程序設置」,則此功能無效。
在仔細檢查(使用捻控制檯)我發現的環境變量被設置爲這些連接串都CUSTOMCONNSTR_前綴鍵名:
CUSTOMCONNSTR_MongoDb:ConnectionString=...
CUSTOMCONNSTR_Logging:ConnectionString=...
CUSTOMCONNSTR_ApplicationInsights:ChronosInstrumentationKey=...
應該如何我現在在這些連接閱讀字符串使用ConfigurationBuilder
?
編輯:
我發現一個方便AddEnvironmentVariables
超載與prefix
參數存在,描述爲:
// prefix:
// The prefix that environment variable names must start with. The prefix will be
// removed from the environment variable names.
但添加.AddEnvironmentVariables("CUSTOMCONNSTR_")
的配置構建器不工作,要麼!
我沒有將這些存儲在JSON文件中 - 僅在Web應用程序設置中(因此需要從環境變量中檢索它們)。爲了清楚起見,我從上面的配置中刪除了AddJsonFile()。這個About頁面在哪裏?我確實可以在env vars中看到連接字符串,但只能使用前綴鍵。 – davenewza
它在我的應用程序中工作,即使沒有在JSON中設置它(即只有Azure連接字符串)。運行時,頂部有一個About鏈接。 –