如何从另一个类获得网站根路径
本文关键字:网站 路径 另一个 | 更新日期: 2023-09-27 18:06:51
我有asp.net网站(使用web表单)。我有一个名为FileHandler
的类,在这个类中,我想获得这个站点的根路径。
通常我使用Server.MapPath("~")
来获取网页内的路径。
这里我不能使用它,因为它不是一个Page。我怎样才能得到网站的路径?
编辑
关于FileHandler
类的更多信息:FileHandler
是一个静态类,我将把站点的根路径分配给一个静态变量。
这对我来说很有效:
HttpContext.Current.Server.MapPath("YOUR PATH");
我在一个与我的一个页面分开的类中使用了这个。通常你不会从HttpContext中调用这个
为什么不传递给另一个类呢?
public class FileHandler {
public string SiteRoot { get; set; }
// or..
public FileHandler(string siteRoot) {
SiteRoot = siteRoot;
}
}
FileHandler fileHandler = new FileHandler() { SiteRoot = Server.MapPath("~") };
// or..
FileHandler fileHandler = new FileHandler(Server.MapPath("~"));
一种选择是,当您创建FileHandler
的对象时,然后将路径作为构造函数参数传递。
public class FileHandler
{
public FileHandler(string rootPath)
{
// store root path as a property
}
}