2013-09-03 26 views
5

IIS 7にwcf Webサービスが展開されています。エラーが発生した場合、エラーの原因となったメッセージを記録する必要があります。開発者が共有にアクセスできるネットワーク共有にログを作成する必要があります(サービスが展開されているサーバーにアクセスできないため)。 物理パスがネットワーク共有上にあるIISで仮想ディレクトリが作成されました。仮想ディレクトリの物理パスを取得する方法

仮想ディレクトリの物理パスを取得するにはどうすればよいですか。私は使用しようとしました

System.Web.Hosting.HostingEnvironment.MapPath(virtualDirectoryPath) 

しかし、これは単にサービスが配置されているサーバー上の物理パスを返します。

仮想ディレクトリが "WSLogs" であると私は "〜/ WSLogs" としてvirtualDirectoryPathを与える場合たとえば、私はCを取り戻すます:\のinetpub \ wwwrootの\ myServiceDirectory \ WSLogs \

+0

念のためです:Webサービスノード自体の下に位置するように仮想ディレクトリを移動した後、私が使用して仮想ディレクトリの物理パスを取得することができました私は、仮想ディレクトリのネットワークパスを取得し、サーバー上の物理パスを取得するのではないと思いますか? –

+0

IISでは、仮想ディレクトリの物理パスはネットワーク上の物理パス(共有フォルダ)に設定されています。その共有フォルダのパスを取得したい。 – knightscharge

答えて

9

仮想ディレクトリが作成されましたWebサービスと同じレベル([既定のWebサイト]ノードの下)にあります。

System.Web.Hosting.HostingEnvironment.MapPath(virtualDirectoryPath) 

virtualDirectoryPathは〜/ WSLogs

+0

恐ろしい!私の一日を節約する.. –