代码之家  ›  专栏  ›  技术社区  ›  Matt

如何确定没有HttpContext的文件的物理路径?

  •  11
  • Matt  · 技术社区  · 15 年前

    我有一些进程在没有HttpContext的情况下运行ASP.NETmvcweb应用程序。此进程需要能够确定应用程序的内容目录的物理路径,以便读取/写入数据。但是,因为它没有HttpContext,所以我不能使用像服务器.MapPath诸如此类。建议?

    2 回复  |  直到 15 年前
        1
  •  15
  •   Community Mohan Dere    9 年前

    在网站中,最好使用 HttpRuntime.AppDomainAppPath HttpContext.Current 可用。

    另请参见 this post

        2
  •  4
  •   driis    15 年前

    最好的方法是使用 AppDomain.BaseDirectory 财产。只要您不摆弄自定义应用程序域,它就会指向您的根应用程序目录。换句话说,这两个字符串是相同的:

    string mapUsingAppDomain = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Contents");
    string mapUsingServer = HttpContext.Current.Server.MapPath("~/Contents");
    
    推荐文章