使用 .NET 6 或 .NET Core,我可以輕松地將設定、連接字串等插入環境變數、AWS Key Vault 等。
我如何在 .Net Framework 4.X 中做到這一點?我想在我的web.config檔案中添加無法轉到源代碼存盤庫的設定。轉換有點不起作用,因為它web.Release.config也會進入存盤庫。
我發現的一些想法:
我可以在機器級配置級別添加配置。對于我的情況,特別是不容易做到的。這就是為什么我正在尋找其他方法。
我可以創建一個接收鍵和值的工具,然后
web.config在部署程序中對其進行操作。必須創建某種工具似乎不是“官方的做法”。我可以加密組態檔,但隨后我的存盤庫中仍然會有它。即使它是加密的,它似乎也不對。此外,在某些情況下,我需要
machinekey在應用程式級別指定 。我假設所有這些設定實際上都是用這個密鑰加密的,對嗎?然后打開這個密鑰是不安全的。
我避免不惜一切代價更改機器級別的組態檔,因為這對我來說并不容易。但也許這就是這樣做的預期方式?
你們如何web.config在部署期間在檔案中實作生產配置?
Ps.:我知道我可以使用變數設定我的代碼,AWS Key Vault 就像在 .NET Core 中一樣。然而,在這種情況下,它是一個巨大的代碼庫,已經通過 appsettings、connectionstrings 等進行了完全配置。
uj5u.com熱心網友回復:
該<appSettings>元素可以指定指向外部檔案的檔案引數(請參閱此處的第二個示例)。該檔案本身可以添加到 .gitignore,因此您實際上最終會得到從未提交到您的存盤庫的設定。缺點是您必須與任何新開發人員共享該秘密檔案的內容。
您的 PS 聽起來好像您已經知道 Key Vault 配置,但為了以防萬一,另一種選擇是直接鏈接到 web.config 中的 Azure Key Vault(鏈接)。這避免了檔案共享要求,因為所有機密都在 Azure 中。但是,它特定于 Azure,并且由于您提到了 Amazon Web Services (AWS),因此可能無法完全解決您的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/395399.html
標籤:C# 网站 asp.net-mvc-4
