在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(),这似乎解决了这个问题。但这感觉像是一种非常肮脏的做事方式。