server.mappath in C#classLibrary
-
20-09-2019 - |
题
我如何在C#类库类中使用server.mappath方法,该方法充当我的ASP.NET网站的业务layerer
解决方案
通过打电话?
var path = System.Web.HttpContext.Current.Server.MapPath("default.aspx");
确保添加对系统的引用。Web组件。
其他提示
您可以使用以下代码获得基本路径,并将所需的路径附加在一起。
string path = System.AppDomain.CurrentDomain.BaseDirectory;
您应该参考system.web并致电:
HttpContext.Current.Server.MapPath(...)
也许您可以将其抽象为依赖性,并创建一个ivirtualPathresolver。这样,您的服务类就不会绑定到System.Web,如果您想在其他UI技术中重复使用逻辑,则可以创建另一个实现。
用这个 system.web.hosting.hostingenvironment.mappath().
HostingEnvironment.MapPath("~/file")
想知道为什么没有人在这里提到它。
HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);
在架构上,系统.web不应在业务逻辑层(BLL)中引用。使用BLL进入解决方案结构以遵循关注原则的单独,因此请参阅系统。Web是一种不良实践。 BLL不应在ASP.NET上下文中加载/运行。因为您应该考虑使用 System.AppDomain.CurrentDomain.BaseDirectory
代替 System.Web.HttpContext.Current.Server.MapPath
不隶属于 StackOverflow