【问题标题】:Connection string works from Visual Studio, but does not work from IIS连接字符串适用于 Visual Studio,但不适用于 IIS
【发布时间】:2015-11-23 15:05:38
【问题描述】:

我在 Visual Studio Express 中为 web 2013 开发了一个网站。该网站从 SQLite 数据库中提取数据。这在视觉工作室中运行良好。现在我正在尝试在 Windows Server 2008 上发布该网站。我已经设置了 IIS 来启动该网站。但是,当我从 IIS 启动网站时,出现磁盘 I/O 错误? connnectionstring="datasource=C:....db;version=3;"。有任何想法吗?感谢您的帮助。

【问题讨论】:

  • “但不能从 IIS 工作” - 在您要部署到的同一台机器或服务器上? “我收到磁盘 I/O 错误?” - 您可以在收到的完整异常中进行编辑。

标签: asp.net sqlite iis connection-string


【解决方案1】:

IIS 中的网站通常在不同的帐户(LocalService)下运行。将文件权限授予您的网站正在运行的给定帐户。您可以在 IIS -> 应用程序池 -> 选择池 -> 高级设置中找到/更改网站帐户。

【讨论】:

  • 我在以服务器管理员身份运行站点时遇到磁盘 i/o 错误。我可以从 Visual Studio 中的测试机器(我自己的凭据)或服务器本身(管理员凭据)正常运行该站点。当我尝试从 IIS 启动网站时,出现错误。如果是连接字符串,我不明白为什么它可以在 Visual Studio 中工作。连接字符串是否相对于当前应用目录?
  • 因为在 Visual Studio 中它在您的帐户下运行,而不是在 LocalService 下。确保目录具有适当的权限。
  • 我刚刚意识到我设置的是物理路径凭据而不是应用程序池帐户。现在正在运行...感谢您的帮助。
  • 通常我也会授予对 NetworkService 的访问权限以支持 unittest。
猜你喜欢
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-11
  • 2017-10-15
  • 2018-02-20
  • 1970-01-01
  • 2017-01-06
相关资源
最近更新 更多