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服务的交互。
|
2月前
|
JSON API C#
C# 实现简单的 HTTP 请求工具(GET/POST)
HTTP请求工具用于调用第三方API,支持GET和POST方法,实现数据获取与提交。示例代码展示通过HttpClient发送异步POST请求,处理响应并解析JSON结果,适用于高效集成外部服务。
|
Linux Shell 数据安全/隐私保护
Linux配置代理请求
Linux配置代理请求
506 0
|
2月前
|
网络协议 安全 C#
C# 实现 Modbus TCP 通信
C# 实现 Modbus TCP 通信
445 4
|
6月前
|
网络协议 网络安全 API
C# 与三菱FX5U PLC通讯交互指南
C# 与三菱FX5U PLC通讯交互指南
2302 121
|
2月前
|
开发框架 .NET Java
C# LINQ:简化集合查询(基础用法)
LINQ是C#中集成的查询功能,可简洁高效地查询集合、数据库等数据源。通过示例演示了过滤、排序、分组、投影和聚合操作,展现其在处理产品列表时的强大与便捷。
|
开发框架 .NET 中间件
.net8 使用 license 证书授权案例解析
本文介绍了如何使用 `.NET CLI` 创建并改造一个 `ASP.NET Core Web API` 项目,以实现基于许可证的授权机制。具体步骤包括创建项目、添加必要的 NuGet 包(如 `Standard.Licensing` 和 `Swashbuckle.AspNetCore`),以及修改 `Program.cs` 文件以集成自定义的许可证验证中间件。项目结构中新增了 `LicenseController` 接口用于处理授权相关操作,并通过测试流程验证了默认天气接口在未授权和授权状态下的响应情况。整个过程确保了应用程序能够在启动时正确验证许可证,保障系统的安全性与可控性。
629 9
.net8 使用 license 证书授权案例解析
|
编解码 Linux 虚拟化
在Hyper-V虚拟化的图形处理中,怎么调整虚拟机的屏幕分辨率?
在Hyper-V虚拟化中,调整虚拟机屏幕分辨率对提升用户体验和确保应用程序兼容性至关重要。高分辨率可提供清晰图像、提高工作效率,并避免显示异常。调整方法包括通过增强会话模式、虚拟机内部设置或手动编辑配置文件。注意事项包括正确安装显卡驱动、避免过高分辨率及及时保存设置。
|
JavaScript 前端开发
js的math.max的用法
js的math.max的用法
657 6
|
JSON 前端开发 API
全面解析:Webhooks 和 APIs 的主要区别
作为人类,我们希望技术能帮助我们更快捷、更便捷地与更多人交流。但要实现这一目标,我们首先需要找到一种方法让技术能够彼此对话。

热门文章

最新文章