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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

.NET6之MiniAPI(四):配置

發布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET6之MiniAPI(四):配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

配置文件,是一個每個應用服務程序常用的功能,從原來的終端應用時代,到現在的元宇宙時代,配置都是很悠然自得的存在。asp.net core提供了強大的配置文件訪問機制,不管是MVC API還是MiniAPI,使用方式都是相同的。

框架默認的配置文件是:appsettings.json,可以以json的格式存放自己復雜的配置:

{"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*","ConnectionStrings": {"ExamDatabase": "server=.;database=Exam;uid=sa;pwd=sa;"},"AppInfo": {"Name": "Mini & Powerful","Version": "v1.0.0","Author": {"Architect": "桂素偉-A","Programmer": "桂素偉-P","Designer": "桂素偉-D"},"Features": [ "Learn MiniAPI", "Architect Element" ]} }

簡單取值

var architect = builder.Configuration.GetSection("AppInfo:Author:Architect").Value; var features1=builder.Configuration.GetSection("AppInfo:Features:1").Value;

用record綁定

record

public record AppInfoRecord(string? Name, string? Version, AuthorRecord? Author, string[]? Features); public?record?AuthorRecord(string??Architect,?string??Programmer,?string??Designer);

綁定

var authorRecord = new AuthorRecord(null, null, null); var appInfoRecord = new AppInfoRecord(null, null, authorRecord, null); builder.Configuration.GetSection("AppInfo").Bind(appInfoRecord);

結果

用class綁定

class

public class AppInfo {public string? Name { get; set; }public string? Version { get; set; }public Author? Author { get; set; }public string[]? Features { get; set; } } public class Author {public string? Architect { get; set; }public string? Programmer { get; set; }public string? Designer { get; set; } }

綁定

var appInfo = new AppInfo(); builder.Configuration.GetSection("AppInfo").Bind(appInfo);

結果

用record和class綁定各有優勢,record定義的時間代碼簡單,綁定要復雜一些,class正好相反,定義要復雜一些,綁定時簡單。

從IConfiguration中獲取配置

可以在路由方法中獲取配置信息

app.MapGet("/getappinfo", (IConfiguration config) => {return config.GetSection("AppInfo:Name").Value; });

從路由中取配置文件

首選注入

var authorRecord = new AuthorRecord(null, null, null); var appInfoRecord = new AppInfoRecord(null, null, authorRecord, null); builder.Configuration.GetSection("AppInfo").Bind(appInfoRecord); builder.Services.AddSingleton(appInfoRecord);

取配置數據

app.MapGet("/appinfo", (AppInfoRecord appinfo) => {return appinfo; });

結果

讀取其他格式的配置文件

myconfig.ini

[iniconfig] key1=value1 key2=value2

加載配置文件,并取值

builder.Host.ConfigureAppConfiguration((hostingContext, config) => {config.AddIniFile("myconfig.ini",optional: true,reloadOnChange: true); });var?key1=builder.Configuration.GetSection("iniconfig:key1").Value;

總結

以上是生活随笔為你收集整理的.NET6之MiniAPI(四):配置的全部內容,希望文章能夠幫你解決所遇到的問題。

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