【问题标题】:directory not created from c#不是从 C# 创建的目录
【发布时间】:2013-06-12 14:19:53
【问题描述】:

我有一个 MVC.NET 站点,它获取用户上传的文件并保存它。 我的部分代码创建了一个新目录。

try
{
    Directory.CreateDirectory(path);
}
catch (Exception e)
{
    log.ErrorException("CreateDirectory failed", e);
    return false;
}

这在本地运行良好。但是,当部署到 IIS6 WIN2003 VPS 时,它什么也不做。没有记录异常,也没有创建目录。在 Windows 权限中,我已授予“网络服务”和“所有人”修改对父文件夹的访问权限。为什么没有创建目录。

我还有保存文件hpf.SaveAs(savedFileName); 的代码,该文件在部署时也不起作用。我尝试安装 ProcessMonitor 但它不会运行

【问题讨论】:

  • 您确定您检查的是正确的目录吗?试试Path.GetFullPath(path)
  • path 是如何形成的?也许您在本地开发机器中使用了服务器上不存在(或您没有权限)的绝对路径
  • -您的应用程序是否具有创建文件夹的正确权限(在本地,您可能在管理员上下文中)。您确定没有异常还是 log 函数本身失败(并且不会抛出异常)?
  • 尝试在try 子句中记录变量path,看看它是否符合您的期望。
  • 我尝试了所有这些方法,但仍然没有运气。路径是我所期望的。我的应用程序确实具有完全权限。日志运行正常。该网站设置有“写入”权限

标签: c# asp.net-mvc windows-server-2003 ii6


【解决方案1】:

我永远无法弄清楚为什么这不起作用。

所以我改为将运行应用程序池的帐户从“网络服务”更改为具有提升权限的自定义帐户。

【讨论】:

    猜你喜欢
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 2012-09-29
    相关资源
    最近更新 更多