日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET CORE 根据环境变量支持多个 appsettings.json

發布時間:2023/12/4 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET CORE 根据环境变量支持多个 appsettings.json 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0.背景

在開發項目的過程當中,生產環境與調試環境的配置肯定是不一樣的。拿個最簡單的例子來說,比如連接字符串這種東西,調試環境肯定是不能連接生產數據庫的。在之前的話,這種情況只能說是你 COPY 兩個同名的配置文件來進行處理。然后你在本地就使用本地的配置,生產環境就使用生產環境的配置文件,十分麻煩。

而 ASP .NET CORE 支持利用環境變量來動態配置 JSON 文件,下面就來看一下吧。


1.準備工作

首先在你的 ASP .NET CORE 項目當中添加一個?appsettings.json?文件,內容如下:

{
??"ConnectionString": {
?? ?"Default": "Normal Database"} }

之后再繼續添加一個?appsettings.Development.json,之后在你的解決方案管理器就會看到下面這種情況。

更改其內容如下:

{
?"ConnectionString": { ?
? ??"Default": "Development Database"} }

之后呢,我們繼續添加一個生產環境的配置文件,名字叫做?appsettings.Production.json?,更改其內容如下:

{
??"ConnectionString": {
?? ? ?"Default": "Production Database"} }

最后我們的文件應該如下圖:

以上就是我們的準備工作,我們準備了兩個環境的配置文件以及一個默認情況的配置文件,下面我就就來看看如何應用環境變量來達到我們想要的效果。

2.環境控制

在項目調試的時候,我們可以通過右鍵項目屬性,跳轉到調試可以看到一個環境變量的設定,通過更改?ASPNETCORE_ENVIRONMENT?的值來切換不同環境。

可以看到目前我們處于?Development?也就是開發環境,那么按照我們的設想,就應該讀取?appsettings.Development.json?的文件數據了。


2.編寫代碼

新建一個?AppConfigure?靜態類,他的內部有一個字典,用于緩存不同環境不同路徑的?IConfigurationRoot?配置。

用法的話也很簡單:

3.測試

測試的話直接更改環境變量就可以看到效果了,更改其值為 Production。

現在我們來運行,并且添加一個監視變量。

看樣子它現在讀取的就是我們的生產環境的數據了。

4.代碼分析

其實吧,也不用這么麻煩,在?Startup.cs?通過構造注入得到的?IConfiguration?就是按照?GetConfigurationRoot()?這個方法來進行構建的,你直接使用?Configuration/ConfigurationRoot?的索引器就可以訪問到與環境變量相應的 JSON 文件了。

可能你還不太理解,明明在?GetConfigurationRoot()?方法里面使用?AddJsonFile()?方法只是添加了兩次個 Provider ,為什么在使用索引器訪問 JSON 配置的時候就是使用的當前環境的 JSON 文件呢?

我其實以為最開始 .NET CORE 對于?IConfiguration?的索引器實現就是讀取了當前環境變量,然后根據這個環境變量去匹配對應的 Provider 取得值。

最后翻閱了 .NET CORE 的源代碼之后發現是我想錯了,其實他就是單純的翻轉了一下 Providers 的集合,然后取的第一個元素。

回到第三節所寫的代碼,可以看到我們首先添加的是?appsettings.json?然后再根據環境變量添加的?$"appsettings.{environmentName}.json"?,所以反轉之后取得的肯定就是帶環境變量的配置文件咯。

回到頂部

5.不同 OS 的環境變量配置


5.1 Windows

直接右鍵計算機手動添加環境變量。


5.2 Linux

使用 export 命令直接進行環境變量設置。

export ASPNETCORE_ENVIRONMEN='Production'


5.3 Docker

Docker 配置最為簡單,直接在啟動容器的時候加上?-e?參數即可,例如:

docker run -d -e ASPNETCORE_ENVIRONMEN=Production --name testContainer testImage

原文地址:https://www.cnblogs.com/myzony/p/9418858.html

.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的ASP.NET CORE 根据环境变量支持多个 appsettings.json的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天堂а√在线中文在线 | 偷偷草 | 96毛片| 色爽爽爽| 日韩欧美无 | 激情总合网 | 啪啪无遮挡 | 亚洲va久久久噜噜噜久久天堂 | 加勒比在线免费视频 | 国产成人久久婷婷精品流白浆 | 国产视频四区 | 久久亚洲av无码精品色午夜麻豆 | 久久精品夜 | 国产成年人网站 | 99久久一区二区 | 少妇又紧又色又爽又刺激视频 | 亚洲精品福利网站 | 色秀av| 久久66热这里只有精品 | 日本色片网站 | 武林美妇肉伦娇喘呻吟 | 亚洲av无码专区在线播放中文 | 中文字幕日韩精品在线 | 中文字幕第三页 | 国产成人在线视频观看 | 伊人射| 欧美三级视频在线 | 九九热这里有精品 | 国产精品乱码久久久 | 办公室摸腿吻胸激情视频 | 亚洲资源av | 久久精品视频一区 | 高中男男gay互囗交观看 | 97精品一区二区 | 99免费在线观看视频 | 怨女1988国语版在线观看高清 | 色鬼综合 | 国产孕妇一区二区三区 | 欧美激情999 | 日韩 欧美 亚洲 国产 | 久久影院午夜 | 绯色av一区二区三区高清 | 狠狠躁日日躁夜夜躁av | 日本免费一区二区三区四区 | 国产国语老龄妇女a片 | 四虎永久在线精品免费网址 | 日韩影院在线 | 久草影视在线观看 | 欧美性猛交xxxx乱大交俱乐部 | 成人午夜毛片 | 91播放在线 | 少妇激情偷人三级 | 日韩和欧美的一区二区 | 国产性70yerg老太 | 午夜视频国产 | 综合中文字幕 | 九色蝌蚪91| 四虎久久久 | 高清一区二区三区四区 | 性开放淫合集 | 免费毛片在线播放免费 | 午夜精品电影 | 五月婷婷啪啪 | 五个女闺蜜把我玩到尿失禁 | 可以免费看黄的网站 | 十八禁视频网站在线观看 | 欧美日韩一区二区三区 | 亚洲专区区免费 | 嫩草视频一区二区三区 | 美女超碰 | 久草中文视频 | 国产午夜福利一区二区 | 国产高清精品软件丝瓜软件 | 午夜影院一区二区 | 国产精品高清在线观看 | 性欧美丰满熟妇xxxx性久久久 | 精品无码在线观看 | 欧美特一级片 | 亚洲熟女乱色一区二区三区久久久 | 香蕉国产精品视频 | 国产在线免费av | 天天色综合1| 纯爱无遮挡h肉动漫在线播放 | 国产精品成人一区二区三区电影毛片 | 久久国内| 自拍偷拍第五页 | 91视频综合 | 91亚洲精品久久久蜜桃 | 嫩草视频在线免费观看 | 天天躁狠狠躁 | 一区二区三区啪啪啪 | 神马午夜av | 久久综合第一页 | 西比尔在线观看完整视频高清 | 国产精品一区二区网站 | 久久看片 | 二区三区偷拍浴室洗澡视频 | 精品午夜久久 | 一级黄色影院 |