1

我正在使用直接连接字符串

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等等。每天我的类库都会获得越来越多的类。我意识到是时候使用全局可访问的连接字符串了,这样当我最终提交我的项目时,只需在大学计算机上的一个地方更改连接字符串。

4

1 回答 1

1

您不必在数据访问层中添加对 Web dll 的引用。

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

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

于 2013-07-24T00:35:24.700 回答