我正在研究一个由ASP.NET 4.0 Web窗体应用程序使用的C#库类。在我的课程中,我正在尝试访问HttpRequest.Application对象,如下所述:
http://msdn.microsoft.com/en-us/library/system.web.httprequest.applicationpath.aspx
此文档说它位于System.Web命名空间中,但即使我在库项目中添加引用,它仍然无法使用。
我可以使用以下方法获取ApplicationPath属性:
HttpContext.Current.Request.ApplicationPath;
发生了什么事?
答案 0 :(得分:3)
ApplicationPath
不是HttpRequest
上的静态属性,这就是您必须使用实例HttpContext.Current.Request
访问它的原因。如果您不想使用HttpContext.Current.Request
,则可以始终将HttpRequest
对象从ASP.NET Web表单传递到类库中。
例如(来自你的Page_Load):
protected void Page_Load(object sender, EventArgs e)
{
var myClass = new MyClass();
myClass.MyMethod(this.Request);
}