どのように私はServer.MapPathのは()のGlobal.asaxから使用できますか?
-
06-09-2019 - |
質問
私はServer.MapPath()
に格納いくつかのファイルパスを結合するweb.config
を使用する必要があります。
Server.MapPath()
は、現在のHttpContext(と思う)に依存しているため、しかし、私はこれを行うことができません。 、私は次の例外を「利用可能」取得のにもかかわらず、この方法を使用しようとする場合:
サーバーの操作は、このコンテキストでは使用できません。
などなど~/App_Data/
として完全な物理パスにC:\inetpub\wwwroot\project\App_data\
としてWebルート相対ディレクトリをマップすることができ、他の方法はありますか?
解決
あなたは System.Web.Hostingを試みることができます.HostingEnvironment.MapPath()の
何のHttpContextは必要ありません。
他のヒント
AppDomain.CurrentDomain.BaseDirectory
はnullを返すことがありますので、!!
Context
を使用します Global.asaxの中で、使用する場合の の文脈のの対象ます:
context.Server.mappath()
コンテキストはあなたにもセッションの収集、リクエストオブジェクト、レスポンスオブジェクトにアクセスすることができます。非常に便利なエラーをログに記録したい場合、例えば
あなたが試みることができるHttpContext.Current.Server.MapPath(「/」) - 。それは私がクラスで前にそれを参照した方法です。
所属していません StackOverflow