使用从win2k3迁移的.NET删除文件

我们最近将一个ASP.NET网站从Windows 2003迁移到Windows 2008 R2,通过压缩所有文件并将它们提取到新网站。

由于迁移Web应用程序仍然能够上传和删除文件(这是新的),但是,它无法删除从原始的Win 2k3应用程序复制的文件。

我们猜测这是一个权限问题,因为错误是:

访问path“E:……. PATH …..”被拒绝。

我们一直在尝试将新上传文件的权限与迁移文件的权限相匹配。 新上传的文件似乎将APP POOL用户作为权限和所有者。 但是,原始文件没有这个。

任何人都可以做的任何帮助都会很棒。

谢谢,

我怀疑你想要删除的文件也是由asp.net应用程序创build的。

在这种情况下,CREATOR OWNER主体的权限决定了新文件的权限。

那么,你提到的任何产品都没有直接做到这一点。

你是如何迁移应用程序的?

如果文件系统权限改变(可能),你有没有修复文件和(重要的)文件夹权限,以便它们与前一个应用程序的目的广泛兼容?

如果它通过某种归档系统复制 – 你是否检查了只读属性(不是权限,属性)的所有文件没有设置?

ATTRIB /S会转储所有子文件夹中的所有文件属性 – 在问题文件中查找任何R。

最后,你可能会发现上传/删除的用户与他们不一样。 使用Sysinternals的进程监视器( http://live.sysinternals.com/procmon.exe )来监视用户执行您感兴趣的操作,并检查身份是否符合预期,并且权限是适当的。 IIS 7引入了新的应用程序池和用户身份(以及身份types)。