34

我有一个带有 C# Web 应用程序的 ASP.NET。我创建的其中一个类需要使用 HttpContext。

根据http://msdn.microsoft.com/en-us/library/system.web.httpcontext(v=vs.90).aspx, HttpContext 存在于 .NET 3.5 的 System.Web 命名空间中(这是版本我已经安装)。

但是,当我写 HttpContext. --> 我没有看到自动完成。这就是告诉我 HttpContext 无法识别的原因。

我做了功课并寻找常用的解决方案: 1. 我添加了 System.Web 参考(通过右键单击参考 -> 选择 .NET 选项卡和特定参考)。2. 我还确保在课程中包含这一行:using System.Web;

请告诉我我还能做什么。如果一切顺利,当我写 HttpContext. - 我应该看到一个下拉列表,并能够从那里的几个属性/元素中选择“当前”。我是 C# 和 Visual Studio (2008) 的新手,但我认为自动完成功能不能很好地表明缺少引用/命名空间/加载错误/其他任何东西。

4

3 回答 3

41

当您要实例化HttpContext 类时,很少使用构造函数。我总是使用静态属性HttpContext.Current,它是所有 ASP.Net 应用程序使用的当前实例。

要使用它,请确保您已经添加了对 System.Web.dll 程序集的引用并导入System.Web命名空间

于 2012-05-15T07:41:31.553 回答
5

这是一个没有使用正确框架的简单案例,我的意思是完整的胖版本而不是默认的“轻”版本。

右键单击项目,然后单击属性并确保选择了最新框架的完整版本,即“.NET Framework 4”,而不是“.NET Framework 4 Client Profile”

于 2012-10-05T12:12:13.047 回答
4
  1. Make sure the assembly is included
  2. Make sure the reference for the dll is there
  3. Try "resolve" and have the Visual Studio include the reference
  4. Debug, close and restart the application.

This class should work.

UPDATE:

using System.Web

class YourClass {
  public YourClass() {
    HttpContext _context = new HttpContext(your parameters)
  }
}
于 2012-05-15T07:27:22.103 回答