You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET/C#应用中读取并显示当前使用的数据库?

在ASP.NET/C#中读取ConnectionStrings并显示当前数据库

1. 确认appsettings.json配置结构

假设你的appsettings.json中ConnectionStrings节点如下:

{
  "ConnectionStrings": {
    "RealApp": "Server=HP-WS10;Database=real_app;Trusted_Connection=True;"
  }
}

2. 通过IConfiguration读取连接字符串

ASP.NET Core默认内置IConfiguration服务,可直接注入到控制器、视图组件或服务中:

using Microsoft.Extensions.Configuration;
using System.Data.SqlClient;

public class HomeController : Controller
{
    private readonly IConfiguration _config;

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

    public IActionResult Index()
    {
        // 读取指定名称的连接字符串
        string connString = _config.GetConnectionString("RealApp");
        
        // 解析连接字符串,提取服务器和数据库名(避免直接暴露完整连接串)
        var connBuilder = new SqlConnectionStringBuilder(connString);
        string dbDisplayText = $"当前环境:服务器[{connBuilder.DataSource}],数据库[{connBuilder.InitialCatalog}]";
        
        // 传递到视图显示
        ViewBag.CurrentDb = dbDisplayText;
        return View();
    }
}

3. 在视图中展示信息

如果是Razor视图,直接输出ViewBag中的内容:

<div class="env-info">
    @ViewBag.CurrentDb
</div>

4. 可选:强类型配置方式

如果偏好强类型管理配置,可创建配置类并注入:

步骤1:创建配置类

public class ConnectionSettings
{
    public string RealApp { get; set; }
}

步骤2:在Program.cs中注册配置

var builder = WebApplication.CreateBuilder(args);
// 绑定ConnectionStrings节点到强类型类
builder.Services.Configure<ConnectionSettings>(builder.Configuration.GetSection("ConnectionStrings"));

步骤3:注入并使用

using Microsoft.Extensions.Options;

public class HomeController : Controller
{
    private readonly ConnectionSettings _connSettings;

    public HomeController(IOptions<ConnectionSettings> connSettings)
    {
        _connSettings = connSettings.Value;
    }

    public IActionResult Index()
    {
        var connBuilder = new SqlConnectionStringBuilder(_connSettings.RealApp);
        ViewBag.CurrentDb = $"当前环境:服务器[{connBuilder.DataSource}],数据库[{connBuilder.InitialCatalog}]";
        return View();
    }
}

内容的提问来源于stack exchange,提问作者Paul_412

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 12:50:51