gpt4 book ai didi

.net - .NET/LINQ-SQL/ASP.NET 中的连接字符串 hell

转载 作者:行者123 更新时间:2023-12-03 09:59:54 37 4
gpt4 key购买 nike

我有一个包含以下内容的 Web 应用程序:

  • Web 项目(带有包含连接字符串的 web.config 文件 - 但 Web 项目中没有数据访问代码)
  • 一个使用 LINQ-SQL 类向 Web 项目 UI 提供实体的数据访问项目(该项目有一个设置文件和一个 app.config - 两者都有连接字符串)

  • 当我构建和部署时,Bin 目录中没有包含数据访问 .dll 的设置文件或 app.config,但是更改 web.config 文件中的连接字符串不会相应地更改数据库 - 因此连接字符串必须被编译成数据访问dll。

    我需要的是一个用于我的整个部署的配置文件——网站、数据访问 dll 等等——它有一个可以使用的连接字符串。目前,似乎到处都在使用或硬编码多个连接字符串。

    我该如何最好地解决这个烂摊子?

    谢谢你的帮助。

    最佳答案

    我从来没有遇到过数据访问层 (DAL) 能够使用我的 web.config 文件中的连接字符串的问题。通常我只是从 DAL 复制连接字符串部分并将其粘贴到 web.config 中。我正在使用 DBML 设计器来创建数据上下文。

    如果这对您不起作用,您可以在数据上下文构造函数中指定连接字符串。在您的 web 项目中有一个静态类,用于加载您的设置,包括您的连接字符串,并且当您创建 DAL 对象(或数据上下文,如果直接创建)时,只需将其传递给构造函数。

    public static class GlobalSettings
    {
    private static string dalConnectionString;
    public static string DALConnectionString
    {
    get
    {
    if (dalConnectionString == null)
    {
    dalConnectionString = WebConfigurationManager
    .ConnectionStrings["DALConnectionString"]
    .ConnectionString;
    }
    return dalConnectionString;
    }
    }
    }
    ...

    using (var context = new DALDataContext(GlobalSettings.DALConnectionString))
    {
    ...
    }

    关于.net - .NET/LINQ-SQL/ASP.NET 中的连接字符串 hell ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/236412/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com