【发布时间】:2010-11-17 15:13:57
【问题描述】:
在我的 Windows Server 2008 上的 asp.net 应用程序中,我有这样的代码
tempfile = Path.GetTempFileName()
... Write data to tempfile ...
File.Move(tempfile, storageDir + fileName)
这很好用。当我尝试从 ASP.NET 外部访问文件时,问题就出现了。我被拒绝访问,即使我正在访问的用户对 storageDir 文件夹具有(递归)读取权限。
似乎被移动的文件没有从它被移动到的文件夹中继承权限。这是正确的吗?如果是,有没有简单的方法可以解决这个问题?
现在作为直接修复,我已将 ASP.NET 应用程序中的每个 File.Move() 实例更改为 File.Copy() + File.Delete(),这似乎可以解决问题。但这感觉像是一种非常肮脏的做事方式。
【问题讨论】: