【问题标题】:How to store the Connenction String in only the Data Access Layer (.NET Class Library)如何仅将连接字符串存储在数据访问层(.NET 类库)中
【发布时间】:2010-04-12 10:03:06
【问题描述】:

我得到了一个解决方案,其中包括 3 个不同的项目、一个类库、一个 Web 服务和一个 Windows 服务。

MySolution.DataAccessLayer(类库)

使用 Entity-Framework 3.5 访问数据库。

MySolution.WebService(网络服务)

MySolution.WindowsService(Windows 服务)

我的问题是必须在我的 Web 服务/Windows 服务配置文件中包含连接字符串才能使其工作。

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

为什么不使用它?

【问题讨论】:

    标签: c# .net entity-framework windows-services web-services


    【解决方案1】:

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

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

    【讨论】:

    • 添加,它是明确的应用程序配置 - 链接的 DLL 是一个库,而不是应用程序。
    【解决方案2】:

    无论您在代码中的何处查找配置,配置系统都会查找正在运行的应用的 app/web.config。

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

    【讨论】:

      猜你喜欢
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多