2012-10-19 33 views
2

我有傳統的ASP 2個網站上的Windows 2008的IIS 7的安裝。 website1.com和website2.com。兩者都從一個文件夾服務在同一網站:C:\站點\網站\經典ASP + IIS 7中寫入一個文件到網絡驅動器

website1.com已經運作了6年,並在應用程序可以將文件寫入到網絡共享; \ wdc \ SharedFiles \ assets \ docs \ 所有適當的權限設置爲多年來一直在讀寫文件。

我最近添加website2.com。該網站服務於同一個目錄。我需要它能夠寫入相同的份額。問題是,website2.com得到「寫入文件失敗。」和「權限被拒絕」錯誤。

這怎麼可能?

我甚至嘲笑了一個簡單的測試。相同的錯誤。:

Dim fso, objFile 
    Set fso=Server.CreateObject("Scripting.FileSystemObject") 
    Set objFile=fso.CreateTextFile("\\wdc\SharedFiles\assets\docs\test.txt") 
    objFile.WriteLine("hello this is test") 
    objFile.Close 
    Set objFile=Nothing 
    Set fso=Nothing 

有沒有想法?我正在拉我的頭髮。

+0

您是否嘗試過查看'\\ wdc \ SharedFiles \ assets \ docs \'目錄的權限?也許有一個特殊的用戶帳戶設置或什麼的。 – davehale23

+1

windows 2008 .... IIS 6 ?????,我幾乎可以肯定,它是IIS 7 – Rafael

+0

拉斐爾,你不相信一些商店老廢物運行。 – nalply

回答

2

我想通了這一點我自己。所以其他人可以受益,這裏是:

  1. 在IIS中轉到網站(website2.com)節點,然後選擇「身份驗證」。
  2. 確保已啓用「匿名身份驗證」並將其設置爲用戶。
  3. 然後使用資源管理器爲該用戶提供對共享的讀寫權限。
+0

非常好的發現@xweb。如果可能,我會給你+1000。我在過去的24小時內也拉出了我的頭髮。 – Rezoan

+0

我很高興我能幫到你。找到解決方案是一個耗時的過程。 – xweb

-1

不知道這是否會有所作爲。我的代碼唯一的區別在於,我使用server.mapPath來指定路徑。

path = Server.MapPath ("\") 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set f = fso.CreateTextFile(path & "\" & txtFileName, 2) '2 = for Writing 
f.Write(txtFileContents) 
f.close 
set f=nothing 
+0

此代碼不寫入網絡驅動器,而是寫入同一臺服務器上的Web根目錄(默認爲「C:\ inetpub \ wwwroot」)。在此處查看示例:http://www.w3schools.com/asp/met_mappath.asp – kevinmicke