_web.config
_に格納するいくつかのファイルパスを結合するには、Server.MapPath()
を使用する必要があります。
ただし、Server.MapPath()
は現在のHttpContextに依存しているため(私は思う)、これを行うことはできません。メソッドを使用しようとすると、「使用可能」であるにもかかわらず、次の例外が発生します。
このコンテキストではサーバー操作は使用できません。
_~/App_Data/
_などのWebルート相対ディレクトリを_C:\inetpub\wwwroot\project\App_data\
_などの完全な物理パスにマップできる別の方法はありますか?
System.Web.Hosting.HostingEnvironment.MapPath() を試すことができます。
HttpContextは不要です。
つかいます AppDomain.CurrentDomain.BaseDirectory
Context
はnullを返す可能性があるため!!
Global.asaxの場合、contextオブジェクトを使用します。
context.Server.mappath()
コンテキストを使用すると、セッションコレクション、要求オブジェクト、応答オブジェクトにもアクセスできます。エラーをログに記録する場合などに非常に便利です。