C#中.net中得IO類(lèi)雖然功能很強(qiáng)大,但是正是因?yàn)楣δ軓?qiáng)大,所以在很多虛擬服務(wù)商的服務(wù)器上并不實(shí)用 。因?yàn)镮O.Directory和IO.DirectoryInfo在應(yīng)用文件夾操作中,會(huì)遍歷網(wǎng)站所在的硬盤(pán)的磁盤(pán)跟目錄,一般虛擬服務(wù)商并不會(huì)給這個(gè)磁盤(pán)的Network service用戶開(kāi)啟讀取權(quán)限,所以在操作文件夾的時(shí)候,使用IO下的這兩個(gè)類(lèi)會(huì)出現(xiàn)如下錯(cuò)誤
未找到路徑“E:/”的一部分。
說(shuō)明: 執(zhí)行當(dāng)前 Web 請(qǐng)求期間,出現(xiàn)未處理的異常。請(qǐng)檢查堆棧跟蹤信息,以了解有關(guān)該錯(cuò)誤以及代碼中導(dǎo)致錯(cuò)誤的出處的詳細(xì)信息。
異常詳細(xì)信息: System.IO.DirectoryNotFoundException: 未找到路徑“E:/”的一部分。
源錯(cuò)誤:
執(zhí)行當(dāng)前 Web 請(qǐng)求期間生成了未處理的異常。可以使用下面的異常堆棧跟蹤信息確定有關(guān)異常原因和發(fā)生位置的信息。
堆棧跟蹤:
[DirectoryNotFoundException: 未找到路徑“E:/”的一部分。]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +287
System.IO.Directory.InternalCreateDirectory(String fullPath, String path) +489
System.IO.Directory.CreateDirectory(String path) +195
-----------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; asp.net 版本:1.1.4322.2300
其中未找到路徑E:/,E盤(pán)就是服務(wù)器上磁盤(pán)路徑,可能會(huì)因?yàn)榉?wù)器的不同而不同。面對(duì)這個(gè)問(wèn)題,服務(wù)商又不肯給你多開(kāi)權(quán)限的情況下,應(yīng)該怎么解決呢?
呵呵,可能是因?yàn)槲一A(chǔ)比較差,于是上網(wǎng)尋求解答,但是苦苦找不到答案。偶然的一次,發(fā)現(xiàn)asp可以應(yīng)用fso創(chuàng)建文件夾。于是想到用asp.net調(diào)用window中得fso組件。呵呵,居然成功了,特寫(xiě)這篇文章給那些苦于此問(wèn)題不得解決的朋友和兄弟。
項(xiàng)目->引用 瀏覽 COM組件 Microsoft Scripting Runtime
Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();
fso.CreateFolder(Path)
就可以了,不過(guò)此種解決方法的前提是虛擬服務(wù)商開(kāi)啟了FSO
至于IO操作文件夾得兩個(gè)類(lèi)為什么會(huì)遍歷磁盤(pán)根目錄還在研究中,不過(guò)問(wèn)題終于解決了,希望了解此的人能給大家一個(gè)答案。
http://www.survivalescaperooms.com/ccc110/archive/2006/12/22/600480.html
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注