在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(),這似乎解決了這個問題。但這感覺像是一種非常骯髒的做事方式。