2010-04-12 51 views
1

我得到了一个包含3个不同项目,类库,Web服务和Windows服务的解决方案。如何仅在数据访问层(.NET类库)中存储连接字符串

MySolution.DataAccessLayer(类库)

使用实体框架3.5来访问数据库。

MySolution.WebService(Web服务)

MySolution.WindowsService(Windows服务)

我的问题是,必须包括在我的Web服务/ Windows服务配置文件中的连接字符串让它起作用。

我已经检查过,并且在我的DataAccessLayer App.Config中有正确的连接字符串。

为什么不使用它?

回答

4

它不会运行,因为DLL被加载到进程空间中。这意味着服务加载DLL并且它是使用的服务配置。

换句话说 - 服务启动,加载配置文件(属于它),然后加载数据访问DLL。由于它已经有了自己的配置,所以它不会再寻找DLL配置。

+1

要添加,它明确地是应用程序配置 - 链接的DLL是一个库,而不是应用程序。 – TomTom 2010-04-12 10:19:31

0

配置系统为正在运行的应用程序查找app/web.config,而不管代码中查找配置的位置。

类库在运行时不关心它是类库/ seperate .dll,而只是在app.config中查找正在运行的程序的配置 - 这将成为Windows服务的配置在一种情况下,在另一种情况下为您的Web服务配置。

相关问题