如何正确实例化 HttpContext 对象
本文关键字:对象 HttpContext 实例化 何正确 | 更新日期: 2023-09-27 18:34:10
我正在尝试创建一个简单的代码来检索当前网址的字符串,如下所示:
string currentURL = HttpContext.Current.Request.Url.ToString();
但是,我在运行代码时收到错误:Object reference not set to an instance of an object.
假设我必须创建一个 HttpContext 的实例。HttpContext 的参数要么是HttpContext(HttpRequest request, HttpResponse response)
的,要么是HttpContext(HttpWorkerRequest wr)
的。
是否有详细说明如何使用这些参数的文档?我对 C# 相当陌生,所以我不完全确定如何正确实例化这个对象,也没有找到任何有用的资源(包括 MS 库)。
HttpContext
对象由 ASP.NET 基础结构实例化一次,每个请求线程一次。您必须在 Web 服务器(例如 IIS)上运行 ASP.NET 才能使用它。它不是要在用户代码中初始化的。您已经通过 HttpContext.Current
静态属性访问该实例。如果您未运行 ASP.NET,它将为 null。
但是,如果您真的愿意,则可以根据现有HttpContext
的请求和响应实例化一个:
var request = HttpContext.Current.Request;
var response = HttpContext.Current.Response;
var newContext = new HttpContext(request, response);