【问题标题】:Creating a file in wwwroot在 wwwroot 中创建文件
【发布时间】:2023-03-26 01:26:01
【问题描述】:

我有一个托管在 IIS 中的网站 C:/inetpub/wwwroot/sample

样本中有一个文件夹 C:/inetpub/wwwroot/sample/work

我无法读取或写入此工作文件夹中的文件。我正在使用 C# 进行读写。我已将 NTFS 权限设置为完全访问,但问题。

请帮忙 谢谢

【问题讨论】:

  • 您可能需要提供更多信息,但对于初学者:检查运行 IIS 的 Windows 用户的权限;检查是否在 web.config 中设置了 等。
  • 您好,您收到的错误是什么?
  • 我没有收到任何错误。我在 Visual Studio 中运行同一个网站,它运行良好,它甚至在 wwwroot/sample/work 文件夹中创建了一个文件。但是,一旦我将我的网站发布到 IIS,就不会创建该文件!如果出现 ACL 错误,它也不应该与 Visual Studio WebDev Server 一起工作,我就是无法理解!

标签: iis file


【解决方案1】:

这可能与 ACL 的问题有关,当您在 Visual Studio WebDev Server 中运行它时,它会使用您的身份运行,如果以提升的方式 (Vista+) 使用 Visual Studio,那么您实际上可能以管理员身份运行。当您在 IIS 中运行它时,它作为服务标识运行,通常是 IIS 6 和 7 的网络服务,或 IIS 7 SP2 和 IIS 7.5 的 AppPool 标识。 我建议的一件事是将一些跟踪信息添加到尝试写入文件的代码中,例如在将异常发送到跟踪的地方执行 try/catch,以便您可以启用跟踪并确定是否发生异常或不。 还要确保您使用的是正确的物理路径,因为您也可能遇到相对路径的问题,因为如果您不使用 Server.MapPath 或类似的东西,IIS 可能会将它们解析为 system32。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 2011-11-21
    • 2012-10-10
    • 1970-01-01
    相关资源
    最近更新 更多