ASP.NET MVC Web アプリケーションで HttpContext なしで実行されるプロセスがいくつかあります。このプロセスでは、データの読み取り/書き込みのために、アプリケーションの Contents ディレクトリへの物理パスを特定できる必要があります。しかし、HttpContext がないため、Server.MapPath などの凝ったものを使用することはできません。提案?
17106 次
2 に答える
15
HttpRuntime.AppDomainAppPath
Webサイトでは、実行パスの特定の瞬間(つまり、サイトの起動時)に利用できるものがないため、を使用するのが最適HttpContext.Current
です。
この投稿も参照してください。
于 2010-08-23T16:45:03.217 に答える
4
これを行う最善の方法は、AppDomain.BaseDirectory
プロパティを使用することです。カスタム アプリケーション ドメインをいじらない限り、ルート アプリケーション ディレクトリを指します。言い換えると; これら 2 つの文字列は同じになります。
string mapUsingAppDomain = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Contents");
string mapUsingServer = HttpContext.Current.Server.MapPath("~/Contents");
于 2010-08-23T16:42:32.967 に答える