C#类库中的Server.Mappath

时间:2009-07-29 11:11:31

标签: c# server.mappath

如何在C#类库类中使用server.mappath方法,该类充当My ASP.NET WEbsite的BusinessLayer

7 个答案:

答案 0 :(得分:117)

通过调用它?

var path = System.Web.HttpContext.Current.Server.MapPath("default.aspx");

确保添加对System.Web程序集的引用。

答案 1 :(得分:22)

您可以使用以下代码获取基本路径,并使用该路径附加所需的路径。

string  path = System.AppDomain.CurrentDomain.BaseDirectory;

答案 2 :(得分:7)

您应该引用System.Web并调用:

  HttpContext.Current.Server.MapPath(...)

答案 3 :(得分:4)

也许您可以将其抽象为依赖项并创建IVirtualPathResolver。这样,您的服务类就不会绑定到System.Web,如果您想在不同的UI技术中重用逻辑,则可以创建另一个实现。

答案 4 :(得分:4)

使用此System.Web.Hosting.HostingEnvironment.MapPath()

HostingEnvironment.MapPath("~/file")

不知道为什么没有人在这里提到它。

答案 5 :(得分:1)

HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);

答案 6 :(得分:1)

在架构上,不应在业务逻辑层(BLL)中引用System.web。将BLL应用到解决方案结构中遵循单独的关注原则,所以请参考System.Web是一种不好的做法。 BLL不应该在Asp.net上下文中加载/运行。因为您应该考虑使用str代替get_lower_case()