无法识别 Request.QueryString,System.Web 包含在命名空间中
本文关键字:包含 Web 命名空间 System 识别 Request QueryString | 更新日期: 2023-09-27 18:33:40
一个简单的问题,但我宁愿问,因为我有两次问题。
我正在尝试从项目中的 url 中检索主机名 ASP.NET。代码实际上不在网页中,而是在类(域的一部分(中。System.Web 包含在标头中。当我尝试使用Request.QueryString时,它无法识别。更糟糕的是,如果我尝试HttpContext.Current,我会收到此错误
'System.Web.HttpContext.Current' is null
这是我的代码
using System.Web;
public class MyNightlyJob : AbstractJob
{
public override void ExecuteJob(IJobExecutionContext context)
{
HttpContext.Current.Request.ServerVariables["HTTP_HOST"]; // does not work
Request.ServerVariables["HTTP_HOST"]; // this does not work also
}
}
我错过了什么?请注意,我的问题实际上是关于Request.ServerVariables的,但如果一个有效,另一个也将有效。
请注意,代码中根本无法识别 Request.ServerVariable。HttpContext.Current 被识别,但我为此收到运行时错误。
您需要检查 HttpContext.Current 是否为空值。如果它为 null,则它不在要检索的正确上下文中。
如果你可以修改函数,我会将 HttpContext.Current 作为变量传递或将主机作为变量传递。