我是否必须一直指定System.Web.HttpContext.Current.Server?
问题描述:
我正在使用Server.Mappath并需要指定“System.Web.HttpContext.Current.Server”。作为前缀。我能不能将它作为一个包含而不是每个“服务器”的使用。这是在一个班级使用,而不是控制器,因此需要。我是否必须一直指定System.Web.HttpContext.Current.Server?
控制器代码:
string strMapPath = Server.MapPath("~/XML/");
在类:
string strMapPath = System.Web.HttpContext.Current.Server.MapPath("~/XML/");
也适用于使用会话对象:
System.Web.HttpContext.Current.Session["MasterDocument"] = myDoc;
这将是,如果我可以做的很好例如:
include System.Web.HttpContext.Current;
但不可能。
想法?
谢谢。
答
这应该工作
public class YourClass
{
public YourClass()
{
Server = System.Web.HttpContext.Current.Server;
}
protected HttpServerUtility Server
{
get; set;
}
public void SomeWork()
{
Server.MapPath("somepath");
}
}
答
您可以使用使用别名指令;
using Server = System.Web.HttpContext.Current.Server;
然后,这将允许您直接使用该控制器代码;
string strMapPath = Server.MapPath("~/XML/");
谢谢。然而.....只是试了一下,我得到一个错误:“System.Web.HttpContext.Current是一个属性,但使用像一个类型使用”。思考??? – EdB 2013-03-07 00:11:00
试试我的答案。有用。 – Parminder 2013-03-07 03:51:45