2012-03-15 56 views
0

我有一個ASP.Net網站和一個C#控制檯應用程序(均在VS2010中開發)。都將文件上傳到我們的Web服務器(Windows Server 2003/IIS 6.0)。登錄到網站的用戶可以查看和下載這些文件。 這在網站上正常工作。但是,當我嘗試下載通過控制檯應用程序上傳的文件,我得到的錯誤:訪問路徑'C: xxx yyy zzz abcd_20120309.pdf'被拒絕

 UnauthorizedAccessException 
     Access to the path 'C:\xxx\yyy\zzz\abcd_20120309.pdf' is denied. 

我已經手動提供「完全控制」,以網絡服務帳戶在該文件夾。

爲什麼Asp.Net代碼無法訪問由控制檯應用程序創建的文件夾?

有什麼想法? 謝謝!

+0

我不認爲網絡服務帳戶是由asp使用的。有一位用戶以IUSR_開頭......但我不知道完全依賴於配置的風險 – mslliviu 2012-03-15 07:24:51

+0

@mslliviu,但如果ASP.NET使用默認的ASP.NET帳戶,確實可能會出現問題 – 2012-03-15 07:28:15

+0

Hi Marc, ASP.Net使用默認帳戶,因爲我沒有在配置文件中添加模擬標籤。由於我的網站在IIS 6.0上運行,我相信默認用戶是NETWORK SERVICE。如果我錯了,請糾正我。 – KhD 2012-03-15 07:36:12

回答

0

不知道它在這種情況下,重要的,但有一件事我過去看到的是:

應用程序首先保存在臨時文件夾中的文件,然後將其移動到目標文件夾。

有時候,不知道確切的規則,文件訪問權在移動中的文件之後。即該文件即使在目標文件夾中也以臨時文件夾的訪問權結束。

檢查文件的訪問權限,看它是否與目標文件夾不同。

1

您需要提供對IIS_IUSRS文件夾的訪問權限(或沿此行的內容)。

你也需要訪問IIS。

包括訪問所有人,不包括此用戶。所以它必須直接完成。

網絡服務是不夠的。

如果IIS_IUSRS不出現在列表中,請搜索它。