single.php

WFCサービスをホストした場合の物理パスを取得する HostingEnvironment クラス

Webアプリやサービスを使っていると、動作しているパスを取得したくなる。ASP.NETの場合、Webアプリの場合には、Server.MapPathなど便利なクラスが用意されているが、WCFサービスで取得する手段探しに難航したので備忘録。

Server.MapPathが使えるのは、UIクラスなのでWebアプリの場合にはPageクラスの中でないと物理パスの取得はできない。自作クラスなどの場合には、HttpServerUtilityアセンブリにMapPathメソッドがあるので、それが使える。

今回はサービス自体がホストされている関係なので、予想が付かない。色々調べていて、ようやく発見。

HostingEnvironment Class
https://msdn.microsoft.com/en-us/library/system.web.hosting.hostingenvironment(v=vs.110).aspx

string sHostPath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath;

sHostPath = “C:\inetpub\wwwroot\” な感じで、ホストされている場所のパスが取得できます。

その他に、.ApplicationVirtualPath、.SiteName、.ApplicationIDなどのプロパティもありました。
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です