Asp.Net Core輕松學習系列之配置文件
前言
在 .NET Core 項目中,配置文件有著舉足輕重的地位;與.NetFramework 不同的是,.NET Core 的配置文件都以 .json 結尾,這表示一個標準的 json 格式的文件;一個標準的 Asp.Net Core MVC 項目,一定帶著一個 appsettings.json 文件,該文件便是項目默認配置文件,這和基于 .NetFramework 創(chuàng)建的 Asp.Net Web Application (默認配置名稱:App.config) 有著根本的不同,今天我們就學習如何添加自定義配置到文件中,并把該配置在程序中讀取出來;然后再通過使用 host.json 這個配置文件使程序運行于多個端口。
下面話不多說了,來一起看看詳細的介紹吧
1. appsettings.json 文件
1.1 appsettings.json 文件是一個標準的 json 結構的文件,這表示你只要按照 json 的結構寫入該文件,無論什么內容,都能在程序中自動讀取,當我們創(chuàng)建好 MVC 項目后,系統(tǒng)就自動幫我們創(chuàng)建好 appsettings.json 文件,其默認內容如下:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
1.2 下面我們加一個配置節(jié)點 "book":"博客園精華文章選集"
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"book":"博客園精華文章選集"
}
1.3 在控制器 Controllers/HomeController.cs 中將該節(jié)點內容設置為網頁標題輸出,記得引用命名空間
using Microsoft.Extensions.Configuration;
在 Index 方法中加入參數(shù) IConfiguration,如下
public IActionResult Index([FromServices]IConfiguration cfg)
{
return View();
}
1.4 輸入命令 dotnet run 啟動項目,結果如下,讀取自定義配置成功

1.5 將配置文件節(jié)點轉換為實體類
我們常常有這樣的需求,在配置文件中做了一堆配置,但是又不想逐個讀取,太麻煩,如果能轉換為實體類就好了,其實 IConfiguration 就自帶了該天賦,看下面的配置
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"book":"博客園精華文章選集",
"customer":{
"name":"ron.liang",
定義實體類
public class Customer{
public string Name { get; set; }
public string Gender{get;set;}
public string Job{get;set;}
}
轉換為實體類,可以看到,已經轉換成功,對象屬性都已獲得了值

另類方式使用 hosting.json 使程序運行于多個端口
2.1 定義 hosting.json 文件
在實際的開發(fā)中,程序運行必需定義清晰的端口,不能使用隨機模式,這個時候,我們可以利用 hosting.json 文件來定義,無論程序發(fā)布到何處,永遠以該文件定義的端口來運行,首先在項目根目錄下創(chuàng)建一個 hosting.json 文件,并填入以下內容。
{
"server.urls": "http://0.0.0.0:12006;http://0.0.0.0:12007"
}
2.2 修改 Program.cs 方法
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
var hostConfiguration = new ConfigurationBuilder().AddJsonFile("hosting.json").Build();
return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseConfiguration(hostConfiguration);
}
以上方法將剛才創(chuàng)建的 hosting.json 加入配置中,并指定程序啟動使用該配置文件
2.2 刪除 Properties 目錄下的 launchSettings.json 文件
2.3 運行項目,可以看到,現(xiàn)在項目偵聽端口 12006/12007

結語
通過本文,我們學習到了以下內容
1. 知道了appsettings.json 的作用,以及如何從配置文件中讀取項目配置節(jié)點
2. 如何通過 IConfiguration 把配置節(jié)點轉換為實體對象
3. 使用 hosting.json 使程序運行于多個自定義端口
努力為開源社區(qū)作貢獻,推薦一個自己開發(fā)的基于 .netcore+pgsql 的快速開發(fā)腳手架,內置 ORM框架,github地址:https://github.com/lianggx/mystaging
文中如有疏漏之處,歡迎指正。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
asp.net開發(fā)微信派發(fā)現(xiàn)金紅包/H5網頁搶紅包功能(思路詳解)
這篇文章主要介紹了asp.net開發(fā)微信派發(fā)現(xiàn)金紅包/H5網頁搶紅包功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
ASP.NET?MVC使用JSAjaxFileUploader插件實現(xiàn)單文件上傳
這篇文章介紹了ASP.NET?MVC使用JSAjaxFileUploader插件實現(xiàn)單文件上傳的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
ASP.NET實現(xiàn)Hadoop增刪改查的示例代碼
本篇文章主要介紹了ASP.NET實現(xiàn)Hadoop增刪改查的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10

