2010-12-21 775 views
5

我正在Windows Server 2003IIS虛擬目錄映射到網絡驅動器(帶驅動器盤符),但無法創建文件

  1. 使用C#/ ASP.NET,IIS6地圖數據的服務器共享文件夾的帶有驅動程序字母V的WebServer:\

  2. 在WebServer上,IIS創建了一個虛擬目錄,並使用V:\指向「本地位置」。由於沒有'連接爲',不知道哪個用戶將被使用

  3. 在我的WebMethod中,我想用FileStream.Write()在共享文件夾上創建文件。

    我得到了IO異常的行動,任何提示?

P.S.我在數據服務器共享文件夾上添加了ASPNET/NETWORK SERVICE。

謝謝! Gavin

回答

0

在IIS中的網站有一個相應的應用程序池,這應該告訴你,你的代碼將在哪個用戶運行。 您必須爲該用戶的共享授予適當的權限。

+0

網絡服務正在運行的應用程序池的用戶。我已將此用戶添加到共享文件夾(遠程機器)上。但還是遇到了這個問題。 – Gavin 2010-12-21 08:17:51

9

映射網絡驅動器是特定於創建它們的用戶帳戶:

Using Mapped Drives with IIS - MS KB257174

應該是一個遠程計算機上存在Web服務器訪問內容的優選的方法是使用共享該遵循通用命名約定(UNC)。

這很可能是NETWORK SERVICE(或者,如果你在模擬運行ASP.NET的網站的匿名賬戶)還沒有得到這個映射。

要更改虛擬目錄指向的位置,請在IIS管理器中瀏覽到您的站點,右鍵單擊虛擬目錄並選擇屬性。然後,您可以選擇「位於另一臺計算機上 A股」:

alt text