熱門問題:國際域名注冊信息更新 郵箱設置 主機管理 ftp ICP備案問題集錦 如何使用SQL數據庫
 
 
您現在的位置:首頁 > 常見問題 > 主機常見問題 > 管理主機

.NET中(zhōng)寫入文件時,不能訪問目錄的解決方案

時間:2009-11-24     來源:    
 

在.net中(zhōng)創建目錄,大(dà)多數人使用的是Directory.CreateDirectory這個控件,然後,很多人就會發現,一(yī)般在本機調試時可以正常運行,但使用虛拟主機時,就不可以用了,爲什麽呢?
    原因如下(xià):
    1、Directory控件的運行原理是從根目錄開(kāi)始請求,也就是說,假如您想在E:\web\log下(xià)面再創建一(yī)個目錄,使用Directory控件時,Directory會自動從E盤的根目錄開(kāi)始請求,檢測是否存在;
    2、爲什麽本機調試時可以使用呢?因爲大(dà)部分(fēn)程序員(yuán),對于本機的系統安全并沒有做特别的設置,所以默認情況下(xià),程序執行時對本機所有的目錄及分(fēn)區都有訪問的權限,所以在Directory請求時不會報錯;
    3、爲什麽在虛拟主機上使用時會報錯,不能執行呢?虛拟主機,是在一(yī)台服務器上創建多個用戶的站點,爲了安全,虛拟主機開(kāi)放(fàng)的權限隻限于用戶目錄下(xià)面的權限,并沒有上級目錄及根目錄的權限,所以Directory請求根目錄的權限時,就會報錯,沒有權限。(注意:如果您使用的虛拟主機有Directory請求根目錄的權限,那麽您選用的虛拟主機服務商(shāng)就太不專業了,基本的安全權限都沒有配好,您的網站内容将無任何安全可言,您網站中(zhōng)的數據将會被任一(yī)個用戶能請求到,能夠看到、下(xià)載到!)
    如果解決這個問題呢?
    1、因爲隻要正确配制了安全權限的虛拟主機,都不能使用Directory控件來創建目錄,如何解決這個問題呢?這就需要我(wǒ)(wǒ)們想一(yī)個變通的辦法。
    2、我(wǒ)(wǒ)們都知(zhī)道,ASP中(zhōng)有一(yī)個FSO的控制功能,而且被大(dà)量使用,基本上99%以上的虛拟主機服務商(shāng)會給用戶開(kāi)放(fàng)這個權限,所以我(wǒ)(wǒ)們就可以調用ASP中(zhōng)的FSO控件來完成目錄的相關操作。
實現方法
  可以使用 Object Browser(對象浏覽器)來查看 FSO 模型的對象、集合、屬性、方法、事件和常數。要在 Object Browser(對象浏覽器)中(zhōng)查看 FSO,必須首先向 Microsoft 腳本運行時類型庫添加一(yī)個引用。

  向 Microsoft 腳本運行時類型庫添加引用
  在 Project(項目)菜單上,單擊 Add Reference(添加引用)。
  在 COM 選項卡上,選擇 Microsoft Scripting Runtime(Microsoft 腳本運行時),單擊 Select(選擇),然後單擊 OK(确定)。
現在,FSO 将顯示在 Object Browser(對象浏覽器)中(zhōng)的 Interop.Scripting 節點内。
  使用 FileSystemObject 進行編程:
  使用 CreateObject 方法創建一(yī)個 FileSystemObject 對象。
  将一(yī)個變量定義爲 FileSystemObject 對象。例如:
Dim MyFileStream as Scripting.New FileSystemObject。 
  對新創建的對象使用相應的方法。
  訪問對象的屬性。
  代碼示例
  以下(xià)示例使用 FileSystemObject 對象的實例來讀取文件并寫入文件内容。
Public Class UsesScripting
 Public Shared Sub Main()
   Dim fileSystem As New Scripting.FileSystemObject()
   Dim file As Scripting.TextStream
   file = fileSystem.OpenTextFile("E: est.txt", _
   Scripting.IOMode.ForReading, False,_
   Scripting.Tristate.TristateUseDefault)
   Dim contents As String = file.ReadAll()
   Console.WriteLine(contents)
   file.Close()
 End Sub
End Class


恰逢ICANN國際大(dà)會,.top域名知(zhī)
億騰科技2015抗戰勝利日放(fàng)假通知(zhī)
35000自然雙拼top保留域名開(kāi)放(fàng)搶
億騰科技2015端午節放(fàng)假通知(zhī)
億騰科技2015勞動節放(fàng)假通知(zhī)
【轉】關于新網的.cn/中(zhōng)國/公司/
搶注top域名,優惠多多更有好禮相
 
 全國免費(fèi)服務熱線:
 
 
copyright© 2003-2009 宜昌億騰信息服務有限公司 All Rights Reserved
公司地址:湖北(běi)省宜昌市東山大(dà)道129号時代天驕7FA05   郵編:443000   
全國免費(fèi)熱線:800 880 3058   電話(huà)總機:0717 - 6466608 6466782 6453806 6855676
直銷熱線:總機轉8001   渠道熱線:總機轉8007   網建熱線:總機轉8041   财務熱線:總機轉8010
售後技術專線:0717-6463660   傳真号碼:0717-6466783   投訴專線:總機轉8009
鄂ICP備05003992号許可證編号 B2-20030065号