c# - 如何正确实例化 HttpContext 对象?

标签 c# asp.net nullreferenceexception

我正在尝试创建一个简单的代码来检索当前 url 的字符串,如下所示:

string currentURL = HttpContext.Current.Request.Url.ToString();

但是,我在运行代码时遇到错误:未将对象引用设置为对象的实例。

我假设我必须创建一个 HttpContext 实例。 HttpContext 的参数是 HttpContext(HttpRequest request, HttpResponse response)HttpContext(HttpWorkerRequest wr)

是否有详细说明如何使用这些参数的文档?我是 C# 的新手,所以我不完全确定如何正确实例化这个对象,也没有找到任何有用的资源(包括 MS 库)。

最佳答案

HttpContext 对象由 ASP.NET 基础结构实例化,每个请求线程一次。 您必须在 Web 服务器上运行 ASP.NET(例如 IIS)才能使用它。它并不意味着在用户代码中初始化。您已经通过 HttpContext.Current 静态属性访问该实例。 如果您运行 ASP.NET,它将为空

不过,如果您真的想要,可以根据现有 HttpContext 的请求和响应实例化一个:

var request    = HttpContext.Current.Request;
var response   = HttpContext.Current.Response;
var newContext = new HttpContext(request, response);

关于c# - 如何正确实例化 HttpContext 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19227420/

相关文章:

c# - 你调用的对象是空的

C# NullReferenceException 未被用户代码处理

c# - string overload + operator 在哪里进行字符串连接?

c# - 验证失败,但无法在 DataGridView 中移除

C# .NET 生成一次字符串数组,其索引是表中的字符串值

asp.net - 已部署的 ASP.Net 站点中的可编辑资源文件

c# - ASP.MVC DropDownListFor 默认值

javascript - 构建网站时,我应该在特定用户控件还是母版页中引用 javascript 库?

asp.net-mvc - ASP.Net MVC RC2 ValidationMessage 和表单字段冲突?

c# - 包含 'Any CPU' 和 'x86' 项目的 Visual Studio 2010 解决方案的建议