iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0
佛心分享-IT 人自學之術

靠近 ASP .NET Core 一點點系列 第 22

Day 22 User Secrets : ASP .NET Core 內建好用的設定檔案

  • 分享至 

  • xImage
  •  

前言
今天想分享一個在 ASP .NET Core 內建的知識,有助於開發過程中,對於特定環境組態設定值,更方便的方式

User Secrets

它是什麼 ?

在開發工具內,被中文翻譯為管理使用者密碼 ,其功能如下

  • 內建功能:User Secrets 是 ASP.NET Core 框架的一部分,無需額外安裝
  • 開發環境專用:主要針對開發環境設計,不應該在正式環境中使用
  • 存儲位置:在 Windows 中,這檔案在 %APPDATA%\Microsoft\UserSecrets<user_secrets_id>\secrets.json
    在 Linux 和 macOS 中,在 ~/.microsoft/usersecrets/<user_secrets_id>/secrets.json
  • 不影響其他開發者

個人理解就是 : 如果本機開發過程中,某些組態設定需要屬於是自己本機的值,那就可以使用這個 json 檔案,去做設定

應用程式內優先順序 ?

命令行參數 > 環境變數 > User Secrets > appsettings.{Environment}.json > appsettings.json > 硬編碼的設定(直接寫在程式內)

開啟方式

1. Visual Studio 內,專案檔右鍵 -> 管理使用者密碼 或是 下指令,如下
2. VS Code 內,先安裝 .NET Core User Secrets 套件,完成後,找到專案檔(.csproj),右鍵即可看到 Manage User Secrets
3. 指令查看 secrets.json 資訊與安裝

dotnet user-secrets
與
dotnet user-secrets init

當此專案由某位開發者最先產生出 secrets.json 後,在專案檔內就會出現一處專屬的 UserSecretsId

<PropertyGroup>
  <TargetFramework>netcoreapp3.1</TargetFramework>
  <UserSecretsId>79a3edd0-2092-40a2-a04d-dcb46d5ca9ed</UserSecretsId>
</PropertyGroup>

若下一位開發者在其他電腦,也產出一個 secrets.json,那對於此專案的 UserSecretsId 就不會變(唯一)

今日結語
當我知道有這好用東西後,我發現第一個改善開發的事情是有幾個設定值只會在我本機上才會用到,對於每次開發都要在 json 檔案內改來改去,真的挺麻煩的! /images/emoticon/emoticon02.gif
所以這大大改善我開發時的困擾,非常棒! 所以也放在本系列的一篇文章內 ~ /images/emoticon/emoticon12.gif

參考文章
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-8.0

https://stenbrinke.nl/blog/configuration-and-secret-management-in-dotnet/


上一篇
Day 21 Views : 特性與使用技巧
下一篇
Day 23 CORS : 跨域資源共享
系列文
靠近 ASP .NET Core 一點點27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言