我有一个包含以下内容的Web应用程序:
在我构建和部署时,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/