私のIISサーバーで私は仮想ディレクトリ( "docPath")私のマシンの物理的なフォルダにマップされています。ウィンドウサービス内の仮想ディレクトリの物理パスを取得
私はウィンドウサービスを持っており、このサービスから、私は(IIS上で作成した)仮想ディレクトリの物理パスを取得する必要があり、すなわち「docPath」。
これは、Windowsのサービスですので、私はHTTPContextオブジェクトを持っていないと私は、これは私がこれまで試したものですHttpContext.Current.Server.MapPath("/docPath");
を使用することはできません。
は、私が使用しようとしましたServerManagerからMicrosoft.Web.Administrationまでです。
ServerManager serverManager = new ServerManager();
Site site = serverManager.Sites.FirstOrDefault(s => s.Name == "Default Web Site");
Application myApp = site.Applications["/docPath"];
しかしSitesでIISサーバー上に作成された唯一のWebアプリケーションは仮想ディレクトリを来ていません。
また、System.Web.Hosting.HostingEnvironment.MapPath
も機能しません。
Windowsサービスの仮想ディレクトリの物理パスをどのように取得することができますか?
に次の名前空間を含めることを忘れないでください。その後、サービスはその応答を読み取ることができます。 –
'System.Web.Hosting.HostingEnvironment.MapPath'を試してみてください。 – JanneP
@ JanneP私はすでにこれを試してきましたが、これも動作していません。 –