質問

私は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(「/」) - 。それは私がクラスで前にそれを参照した方法です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top