用于数据访问层的SQL连接字符串

时间:2013-07-24 00:29:48

标签: c# asp.net sql sql-server-express

我正在使用

的直接连接字符串

string ConString = "Data source=.\\Sqlexpress; initial catalog=MyDB; integrated security=SSPI";

我需要一个存储在web.config文件中的连接字符串,如:

<connectionStrings>
<add name="SqlCon" connectionString="Data source=.\\Sqlexpress; initial catalog=MyDB; integrated security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>

这个问题是我的数据访问层无法访问它。我正在研究3层架构模型。我不想添加对我的数据访问层的引用,例如System.Web等。每天我的类库都会获得越来越多的类。我意识到是时候使用全局可访问的连接字符串了,这样当我最终提交项目时,连接字符串只需要在大学计算机上的一个地方进行更改。

1 个答案:

答案 0 :(得分:1)

您不必在数据访问层中添加对网络数据库的引用。

这一切都取决于您的结构,但如果将dll复制到您的网站bin文件夹的项目引用 - Web配置连接字符串将直接从网站的Web配置中使用。连接将在运行时在主机中解析,该主机将是由某个Web服务器托管的网站。 无需为数据访问dll本身添加一个。这意味着对于单个流程架构 - 您的连接字符串已全局可用。

如果您的数据访问层托管在应用服务器上,您可能会有一个Web服务的Web配置,从而暴露业务/数据层。常见的模式是使用WCF服务公开您的业务层w / data访问。然后,该服务将拥有自己的web.config文件 - 与Web站点定义的web.config分开。但关键是只有WFC服务需要连接字符串。网站的Web配置通常仅包含有关如何调用服务(WCF配置)的信息。