System.IO.Directory.GetCurrentDirectory()を使用してWebサービスの現在のディレクトリを取得していますが、現在のディレクトリは取得できません。 Webサービスで現在のディレクトリを取得するにはどうすればよいですか?
おかげでスチュアート
Webサービスでは、httpコンテキストで実行しています。そう、
HttpContext.Current.Server.MapPath("~/")
あなたに答えを与えます。
HttpContext.Current.Server.MapPath(".")
は、現在の作業ディレクトリを提供します。
しかし、潜在的にHttpContextの外にいるというRohan Westのコメントには、単に電話する方が良いでしょう。
HostingEnvironment.MapPath(".")
詳細を参照してください こちら
使用できます
AppDomain.CurrentDomain.BaseDirectory;
これにより、アプリケーションのルートディレクトリが得られます。
HttpContext.Current.Server.MapPath( "〜/")は、アプリケーションまたは仮想ディレクトリのルートにマップします。
HttpContext.Current.Server.MapPath( "〜/")<-ROOT
HttpContext.Current.Server.MapPath( "。")<-CURRENT DIRECTORY
HttpContext.Current.Server.MapPath( "..")<-PARENT DIRECTORY
上記はすべて相対的であるため、任意の組み合わせでディレクトリツリーを走査できます。
HttpContext.Current.Server.MapPath("~/")
はアプリケーションのルートを取得しますか?
おそらくそこからのパスを知っているので、これはおそらく最も可能性が高いです。
興味深いかもしれない別のオプション:
HttpContext.Current.Server.MapPath("/Directory/")
これは、アプリケーションのルートから何に関係なく構築されます。
最初のスラッシュがないと、これは呼び出し元のディレクトリを開始として取得します。
HttpContext.Current.Server.MapPath("Directory/")
HttpContext.Current.Server.MapPath( "..")[(。)の代わりに2つの(..)ドットを観察]は、サイトの仮想ディレクトリの物理ディレクトリを提供します!