我有一个网络应用程序,包含以下内容:
- 一个 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))
{
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)