2009-08-20 20 views
1

パスの「仮想性」をチェックする組み込みのasp.netメソッドはありますか?asp.net - 私のパスは仮想ですか?

public void Foo(String path){ 

    try 
    { 
     path = Server.MapPath(path); 
    } 
    catch(HttpException){} 

    // do stuff with path 
} 
+0

どの範囲では、あなたは、「仮想」について話していますか? IISには仮想フォルダがあり、ASP.NETには仮想パスという概念があります。 2つは必ずしも同じではありません。 – jrista

+0

asp.netの仮想パスを意味します。キャッチをありがとう。 – brad

答えて

3

Path.IsPathRooted方法作業:

私は今のところそれを行うことができました唯一の方法は、次のtryブロックにありますか?

あなたはその結果だコードは次のようになります。

はここ
public void Foo(String path) 
{ 
    if(!Path.IsPathRooted(path)) 
    { 
     path = Server.MapPath(path); 
    } 

    // do stuff with path 
} 
+0

Woohoo!それは魅力のように機能します。私は、用語がもう少し一貫していたらいいと思う。ルート以外のパスは仮想パスと同じですか? – brad

+0

あなたが言ったように、これは主に用語の問題です。あなたは "仮想"を使用していますが、より正確な用語は "相対"です。したがって、絶対パスを持たないパス(つまりC:\ Folder \ file.txt)は、現在のディレクトリからの相対パスでなければなりません。 – akmad

関連する問題