C# 配置文件读取:App.config 用法

简介: App.config用于存储程序配置(如数据库连接、接口地址),避免硬编码,提升可维护性。通过ConfigurationManager读取配置,支持字符串、整型、布尔值及连接字符串的获取,需引用System.Configuration程序集。

配置文件(App.config)用于存储程序配置(如数据库连接字符串、接口地址),避免硬编码,便于维护。

案例:读取 App.config 配置

  1. 新建 App.config 文件(右键项目→添加→应用程序配置文件):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="ApiBaseUrl" value="https://api.example.com" />
    <add key="Timeout" value="3000" />
    <add key="EnableLog" value="true" />
  </appSettings>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=TestDB;User ID=sa;Password=123456" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>
  1. C# 读取配置的工具类:
using System.Configuration;
public class ConfigHelper
{
    // 读取AppSettings配置
    public static string GetAppSetting(string key, string defaultValue = "")
    {
        return ConfigurationManager.AppSettings[key] ?? defaultValue;
    }
    // 读取整数类型的AppSettings配置
    public static int GetAppSettingInt(string key, int defaultValue = 0)
    {
        string value = GetAppSetting(key);
        if (int.TryParse(value, out int result))
        {
            return result;
        }
        return defaultValue;
    }
    // 读取布尔类型的AppSettings配置
    public static bool GetAppSettingBool(string key, bool defaultValue = false)
    {
        string value = GetAppSetting(key);
        if (bool.TryParse(value, out bool result))
        {
            return result;
        }
        return defaultValue;
    }
    // 读取连接字符串
    public static string GetConnectionString(string name)
    {
        ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings[name];
        return setting?.ConnectionString ?? "";
    }
}
// 调用示例
string apiUrl = ConfigHelper.GetAppSetting("ApiBaseUrl");
int timeout = ConfigHelper.GetAppSettingInt("Timeout");
bool enableLog = ConfigHelper.GetAppSettingBool("EnableLog");
string connectionString = ConfigHelper.GetConnectionString("DefaultConnection");
Console.WriteLine($"接口地址:{apiUrl}");
Console.WriteLine($"超时时间:{timeout}ms");
Console.WriteLine($"是否启用日志:{enableLog}");
Console.WriteLine($"数据库连接字符串:{connectionString}");

注意:需引用 System.Configuration 程序集(右键项目→添加→引用→勾选 System.Configuration)。

相关文章
|
网络协议 API C#
C# 中模拟 POST 和 GET 请求的原理与实践
【1月更文挑战第4天】在现代网络应用中,HTTP请求是客户端与服务器交互的基础。其中,GET和POST是最常用的两种请求方法。本文将介绍如何使用C#语言模拟这两种请求,并解释其背后的工作原理。我们将利用.NET框架中的HttpClient类来发送请求,并处理服务器的响应。通过本文,读者将能够理解HTTP请求的基本构成,学会在C#中编写代码来模拟这些请求,进而在开发过程中实现与Web服务的交互。
|
3月前
|
JSON API C#
C# 实现简单的 HTTP 请求工具(GET/POST)
HTTP请求工具用于调用第三方API,支持GET和POST方法,实现数据获取与提交。示例代码展示通过HttpClient发送异步POST请求,处理响应并解析JSON结果,适用于高效集成外部服务。
|
小程序 C#
C#WinForm实现Loading等待界面
上篇博客中解决了程序加载时屏幕闪烁的问题。 但是,加载的过程变得很缓慢。 这个给用户的体验也不是很好,我这里想加一个Loading的进度条。 项目启动的时候,加载进度条,界面UI加载完毕,进度条消失。
966 0
|
29天前
|
JavaScript
ASCII艺术字生成 在线工具分享
一款基于Vue开发的在线ASCII艺术字生成工具,无需安装,输入文字即可秒变个性艺术字。支持多字体、自定义宽度,适用于昵称、标题、文案等场景,操作极简,零门槛上手。
338 6
|
7月前
|
网络协议 网络安全 API
C# 与三菱FX5U PLC通讯交互指南
C# 与三菱FX5U PLC通讯交互指南
2708 121
|
3月前
|
开发框架 .NET Java
C# LINQ:简化集合查询(基础用法)
LINQ是C#中集成的查询功能,可简洁高效地查询集合、数据库等数据源。通过示例演示了过滤、排序、分组、投影和聚合操作,展现其在处理产品列表时的强大与便捷。
|
C#
C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法
原文:C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法 以前这个问题困扰我多天最后查资料一大堆,最后最终攻克了,看到非常多人做C#串口都遇到相同的问题,所以写一篇博文,以便学习交流。
3904 0
|
C# Windows
C#实现指南:将文件夹与exe合并为一个exe
C#实现指南:将文件夹与exe合并为一个exe
1344 9
|
SQL Java 数据库连接
【潜意识Java】Java中JDBC过时方法的替代方案以及JDBC为什么过时详细分析
本文介绍了JDBC中一些常见过时方法及其替代方案。
434 5

热门文章

最新文章

下一篇
开通oss服务