【问题标题】:Connection string in app.config in a class library类库中 app.config 中的连接字符串
【发布时间】:2010-03-31 22:07:23
【问题描述】:

我正在创建解决方案,里面有三个项目:

  1. 一个 WCF 服务库项目

  2. 一个数据访问项目(类库)

  3. 一个托管 WCF 服务的网站

服务的实现在项目#1,但为了访问数据库,我使用了第二个项目,该项目使用类库项目实现数据访问。

那个问题是为了获得数据访问我需要配置一个连接字符串,但是这个连接字符串必须在生产环境中是可配置的,我的意思是在生产中我要部署站点,这是一个非常简单的项目只包含一个参考 WCF 服务库项目,然后数据库部门的人将配置连接字符串。

在开发中,我在数据访问项目上有一个 app.config,但是当我发布时,app.config 嵌入在 dll 中。

我们如何实现我们的目标的任何想法

【问题讨论】:

    标签: wcf c#-3.0


    【解决方案1】:

    连接字符串必须在执行程序集的应用程序配置文件中。这意味着您可以提供程序集的配置文件以及程序集本身,但任何想要使用您的程序集的人都必须更新他们的配置文件以包含您的程序集所依赖的值。

    【讨论】:

    • 但是问题是当我编译项目时结果只是一个 dll,没有 app.config 我假设 app.config 是嵌入的,我怎么能告诉 Visual Studio 不要嵌入文件?
    【解决方案2】:

    您的 app.config(数据层)中的连接字符串未嵌入到 dll 中。

    如果您查看数据层项目中的 app.config 文件,您可能会有一个 connectionStrings 部分。您需要将 connectionStrings 放在您的 WCF 服务网站的 web.config 中。

    这可以在您的生产环境中进行配置。

    【讨论】:

    • 我将连接字符串放在网站的 web.config 上,但它不起作用......我不知道是否可能是我从数据层调用 app.config 的方式。 ..这里是 app.config
    • 我这样调用 app.config -> string conn = Properties.Settings.Default.WIWBancolombiaCS;
    【解决方案3】:

    我有一个错误,我在 WCF 站点的 web.config 上使用了不同的名称,我只是将 app.config 的确切部分复制到 web.config 并且它现在可以工作了。

    感谢您的帮助

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签