asp.Netフォルダ作成エラーの解決策

1312 ワード

C#中NetのIOクラスは機能が強いが,機能が強いだけに多くの仮想サービス業者のサーバでは実用的ではない.なぜならDirectoryとIODirectoryInfoは、アプリケーションフォルダ操作では、Webサイトがあるハードディスクのディスクとディレクトリを巡回します.一般的に、仮想サービス業者はこのディスクのNetworkサービスユーザーに読み取り権限を開くことはありません.そのため、フォルダを操作するときに、IOの下の2つのクラスを使用すると、次のエラーが発生します.

パス「E:」の一部が見つかりません。


説明:現在のWebリクエストの実行中に未処理の例外が発生しました.スタックトラッキング情報を確認して、このエラーとコードでエラーが発生したソースの詳細を確認してください.異常詳細:System.IO.DirectoryNotFoundException:パス「E:」の一部が見つかりません.ソースエラー: Web 。 。
スタックトラッキング:
[DirectoryNotFoundException:      “E:\”    。]   
System.IO.__Error.WinIOError(Int32 errorCode, String str) +287  

パスE:/が見つかりません.Eディスクはサーバ上のディスクパスです.サーバによって異なる場合があります.この問題に直面して、サービス業者があなたに多くの権限を与えようとしない場合、どのように解決すればいいのでしょうか.
ほほほ、私の基础が比较的に悪いためかも知れなくて、そこでインターネットを利用して解答を求めて、しかし苦労して答えが探し出せません.偶然、aspはfsoを適用してフォルダを作成できることが分かった.そこでaspを使いたいです.Netはwindowのfsoコンポーネントを呼び出します.ほほほ、意外にも成功して、特にこの文章を書いてあれらのこの問題に苦しんで解決できない友达と兄弟にあげます.
プロジェクト->COMコンポーネントMicrosoft Scripting Runtimeの参照
Scripting.FileSystemObject  fso=new  Scripting.FileSystemObjectClass();  
fso.CreateFolder(Path)
いいですが、この解決策の前提は、仮想サービス業者がFSOを開いたことです.
IO操作フォルダの2つのクラスがなぜディスクルートディレクトリを巡るのかについては検討中ですが、問題はやっと解決しました.これを知っている人は皆さんに答えをあげたいと思っています.