ASP.NET MVCプロジェクトのコントローラーからApp_Dataフォルダーへの絶対パスを見つける正しい方法は何ですか?一時的に.xmlファイルを操作できるようにしたいのですが、パスをハードコーディングしたくありません。
これは動作しません:
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
string path = VirtualPathUtility.ToAbsolute("~/App_Data/somedata.xml");
//.... do whatever
return View();
}
}
Webコンテキストの外では、VirtualPathUtility.ToAbsolute()は機能しないと思います。文字列パスは「C:\ App_Data\somedata.xml」として返されます
MVCアプリの.xmlファイルのパスはどこで確認する必要がありますか?global.asaxを適用して、アプリケーションレベルの変数に固定しますか?