如何在 C# 类库类中使用 server.mappath 方法,它充当我的 ASP.NET 网站的 BusinessLayer
问问题
122006 次
7 回答
121
通过调用它?
var path = System.Web.HttpContext.Current.Server.MapPath("default.aspx");
确保添加对 System.Web 程序集的引用。
于 2009-07-29T11:14:32.780 回答
23
您可以使用以下代码获取基本路径并将所需的路径附加到该路径中。
string path = System.AppDomain.CurrentDomain.BaseDirectory;
于 2013-12-04T05:25:47.900 回答
7
您应该参考 System.Web 并调用:
HttpContext.Current.Server.MapPath(...)
于 2009-07-29T11:14:47.633 回答
5
使用此System.Web.Hosting.HostingEnvironment.MapPath()。
HostingEnvironment.MapPath("~/file")
想知道为什么没有人在这里提到它。
于 2016-01-05T12:19:33.903 回答
4
也许您可以将其抽象为依赖项并创建一个 IVirtualPathResolver。这样,您的服务类就不会绑定到 System.Web,如果您想在不同的 UI 技术中重用您的逻辑,您可以创建另一个实现。
于 2012-04-08T16:24:46.447 回答
2
HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);
于 2016-07-26T11:16:08.477 回答
2
在架构上,不应在业务逻辑层 (BLL) 中引用 System.web。将 BLL 应用到解决方案结构中以遵循关注点分离原则,因此参考 System.Web 是一种不好的做法。BLL 不应在 Asp.net 上下文中加载/运行。由于您应该考虑使用的原因System.AppDomain.CurrentDomain.BaseDirectory
而不是System.Web.HttpContext.Current.Server.MapPath
于 2017-09-06T06:49:56.177 回答