【问题标题】:Setting connection string after publishing on IIS Server在 IIS 服务器上发布后设置连接字符串
【发布时间】:2017-04-23 18:18:59
【问题描述】:

我有两个项目,一个名为 Home 的 asp.net MVC 项目和一个名为 Home.Dao 的 c# 类库项目。

  • Home 是一个简单的 MVC 项目,其 web.config 中没有连接字符串属性
  • Home.Dao 是一个 c# 类库项目,它负责关闭代码和数据库之间的所有交互。它有一个 app.config 并包含一个连接字符串属性

在 IIS 服务器上发布 Home 项目时,我只能找到这些文件(web.config、Hom.Dao.dll、...等)没有发布 app.config。我的问题是发布后无法设置连接字符串。所以我有两个问题:

  1. 如何从 web.config 设置连接字符串,这样 连接字符串可以在 Home.Dao 上使用
  2. 也可以发布 app.config 吗?

【问题讨论】:

  • 不能在 web.config 中创建连接字符串部分并使用它吗?由于您的 mvc 项目引用了您的类库,这应该可以工作
  • 我可以,但是 Home.Dao 不使用它
  • 它确实使用了它,我的错,我将我的连接字符串从 app.config 复制到 web.config,我收到了这个错误:“不支持关键字:UserId”,需要将其更改为:用户编号。

标签: c# asp.net-mvc iis web-config app-config


【解决方案1】:

回答您的问题:

  1. 不仅可以,还需要从web.config中设置连接字符串
  2. 您可以将 app.config 复制到输出目录,但这对您没有多大用处。

解释原因:

仅为顶级应用程序创建配置文件。对于 Web 应用程序,这是复制到输出目录的 web.config 文件。对于可执行文件,app.config 被重命名为 -executable name-.exe.config。配置只能从顶级应用程序配置中读取。您需要的所有设置都必须在那里。因此,如果您将连接字符串传输到您的 web.config,那就很好了。

【讨论】:

  • 你对第一部分是对的,我收到一个错误“不支持关键字:UserId”,所以我认为我在发布时不可能,我的错。所以 +1 以澄清配置文件的工作原理。
猜你喜欢
  • 2013-07-09
  • 2014-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-18
  • 1970-01-01
  • 2013-08-07
  • 2011-01-31
相关资源
最近更新 更多