IIS 7.0がインストールされており、.svcサービスを備えた.netアプリケーションがあります。
アプリケーションが指す仮想ディレクトリ内のファイルをポイントしたい(アプリケーションで仮想ディレクトリを変換したことに注意してください)。
ただし、.net-verseで一般的なAPI呼び出しを使用してファイルを開こうとすると、ルート(完全)パスではなく相対パスを指定すると、リソースが見つからない場合にエラーが発生します。
アプリの物理パスを取得するにはどうすればよいですか?
これはWebアプリケーションであることに注意してください。私のアプリによってホストされているWebサービスからこの呼び出しを行う必要があるため、Request
オブジェクトを使用できません。
これを試して、問題の解決に役立つ可能性があります
string apPath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath;
または
string apPath = System.Web.Hosting.HostingEnvironment.MapPath("~/folder/file");
コンソールアプリケーションプロジェクトテンプレートまたはWebアプリケーション以外のテンプレートを使用している場合は、System.Webへの参照を追加する必要があります。
これで、System.Web.Hosting名前空間を参照できるようになります。
お役に立てれば!