C#将配置文件appsetting中的值转换为动态对象调用

将配置文件appsettings中的值转换为动态对象调用,可以使用C#中的Configuration API和ExpandoObject类。

以下是具体实现步骤:

1、添加配置文件

在项目的根目录下,添加一个名为appsettings.json的文件,用于存储应用程序的配置信息:

{
  "AppSettings": {
    "MyKey": "MyValue",
    "MyInt": 123,
    "MyBool": true
  }
}

2、创建Configuration实例

使用Configuration API加载配置文件,创建Configuration实例:

var builder = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);

var config = builder.Build();

3、获取配置文件中的值

使用Configuration实例和键名获取配置文件中的值:

string myValue = config["AppSettings:MyKey"];
int myInt = config.GetValue<int>("AppSettings:MyInt");
bool myBool = config.GetValue<bool>("AppSettings:MyBool");

4、将配置值转换为动态对象

使用ExpandoObject类,将配置值转换为动态对象:

dynamic settings = new ExpandoObject();
settings.MyKey = myValue;
settings.MyInt = myInt;
settings.MyBool = myBool;

5、动态调用配置值

使用动态对象,并通过键名动态调用配置值:

Console.WriteLine(settings.MyKey);
Console.WriteLine(settings.MyInt);
Console.WriteLine(settings.MyBool);

具体的代码示例:

using System;
using System.Dynamic;
using System.IO;
using Microsoft.Extensions.Configuration;

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);

            var config = builder.Build();

            string myValue = config["AppSettings:MyKey"];
            int myInt = config.GetValue<int>("AppSettings:MyInt");
            bool myBool = config.GetValue<bool>("AppSettings:MyBool");

            dynamic settings = new ExpandoObject();
            settings.MyKey = myValue;
            settings.MyInt = myInt;
            settings.MyBool = myBool;

            Console.WriteLine(settings.MyKey);   // 输出 MyValue
            Console.WriteLine(settings.MyInt);   // 输出 123
            Console.WriteLine(settings.MyBool);  // 输出 True
        }
    }
}

以上就是如何将配置文件appsettings中的值转换为动态对象调用的完整攻略。

下面给出另一个示例代码,演示如何在ASP.NET Core中使用IConfiguration,将appsettings.json文件的配置信息注入到应用程序的控制器中:

using System;
using System.Dynamic;
using System.IO;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;

namespace MyApp.Controllers
{
    public class HomeController : Controller
    {
        private readonly IConfiguration _config;

        public HomeController(IConfiguration config)
        {
            _config = config;
        }

        public IActionResult Index()
        {
            string myValue = _config["AppSettings:MyKey"];
            int myInt = _config.GetValue<int>("AppSettings:MyInt");
            bool myBool = _config.GetValue<bool>("AppSettings:MyBool");

            dynamic settings = new ExpandoObject();
            settings.MyKey = myValue;
            settings.MyInt = myInt;
            settings.MyBool = myBool;

            return View(settings);
        }
    }
}

在该控制器中,使用ASP.NET Core提供的依赖注入功能,注入IConfiguration实例,然后将appsettings.json文件中的配置信息转换为动态对象。

最后,将动态对象传递到视图中,以便在前端界面上显示这些配置信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#将配置文件appsetting中的值转换为动态对象调用 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 在Winform分页控件中集成保存用户列表显示字段及宽度调整设置

    在Winform的分页控件里面,我们提供了很多丰富的功能,如常规分页,中文转义、导出Excel、导出PDF等,基于DevExpress的样式的分页控件,我们在其上面做了不少封装,以便更好的使用,其中就包括集成保存用户列表显示字段及宽度调整设置。本篇随笔介绍这个实现的过程,通过在当前程序中序列化方式存储一个记录用户设置的文件,提供介质的存储和加载处理。 1、集…

    C# 2023年5月6日
    00
  • C#读写Config配置文件案例

    下面我会详细讲解“C#读写Config配置文件案例”的完整攻略。 什么是Config配置文件 Config配置文件是一种XML格式的配置文件,用于在应用程序中保存一些常见的配置数据。在C#中读写Config文件是一种常见的应用场景。 一个Config配置文件通常包含以下三种节点: configuration:root节点,表示当前文件是一个配置文件; con…

    C# 2023年6月1日
    00
  • .NET中 关于脏读 不可重复读与幻读的代码示例

    首先,需要理解脏读、不可重复读和幻读三种问题的定义: 脏读:一个事务读取了另一个事务未提交的数据。 不可重复读:一个事务多次读取同一行,但是在此过程中,另一个事务修改了这一行的数据。 幻读:一个事务执行两次相同的查询,但是在此过程中,另一个事务插入了一些新的数据,从而第二次查询返回了不同的结果。 为了演示这三个问题,在一个数据库中创建一个test表,包含id…

    C# 2023年5月31日
    00
  • C#编程和Visual Studio使用技巧(上)

    C#编程和VisualStudio使用技巧(上)完整攻略 1. 简介 本文主要讲解C#编程和Visual Studio的使用技巧。C#是一种现代化的、强类型的面向对象编程语言,常用于开发Windows应用程序、Web应用程序和游戏等。Visual Studio则是开发C#应用程序的主要工具之一,提供了强大的集成开发环境(IDE)以及各种调试、测试和部署工具等…

    C# 2023年5月14日
    00
  • c# 读取Northwind数据库image字段

    读取Northwind数据库中的image字段,可以通过ADO.NET提供的SqlDataReader类或者DataSet类中的DataTable来完成。 以下是实现步骤: 步骤一:连接数据库 使用System.Data.SqlClient命名空间中的SqlConnection类连接Northwind数据库。 示例代码: using System.Data.…

    C# 2023年5月31日
    00
  • Unity ScrollRect实现轨迹滑动效果

    首先介绍一下Unity ScrollRect。 ScrollRect是Unity中ScrollView 的组件之一。这个组件提供了一个类似于滚动列表的UI组件,可通过拖动或操作滚动条滚动内容。 接下来详细讲解Unity ScrollRect实现轨迹滑动效果的完整攻略: 创建新项目并新建Canvas对象 在Canvas对象下创建一个新的Panel,将Panel…

    C# 2023年6月3日
    00
  • C#获取字符串后几位数的方法

    获取字符串后几位数可以通过几种不同的方式来实现。下面将介绍两种常用的方法。 方法一:使用Substring方法 C#中的字符串类提供了Substring方法来截取字符串中的子串。要获取字符串后几位数,只需要使用Substring方法,并将其参数设置为字符串长度减去所需的位数即可。 以下是实现该方法的代码示例: string str = "hello…

    C# 2023年6月8日
    00
  • .Net Core实现JWT授权认证

    JWT(JSON Web Token)是一种用于身份验证和授权的开放标准。在.NET Core中,您可以使用JWT来实现授权认证。本攻略将深入探讨如何使用.NET Core实现JWT授权认证,并提供两个示例说明。 实现JWT授权认证 实现JWT授权认证的步骤如下: 1. 安装Microsoft.AspNetCore.Authentication.JwtBea…

    C# 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部