HttpContext.Current is null for bots

本文关键字:for bots null is Current HttpContext | 更新日期: 2023-09-27 18:17:49

我有以下代码在一个类,这是由一个。net页面调用(asp.net webforms期间page_load事件):

public static bool BrowserSupportsJS
{
   get { return (HttpContext.Current.Session["js_support"] != null 
   && ((bool)HttpContext.Current.Session["js_support"]));
}

对于任何bot: googlebot, bingbot等都会抛出异常

例外是:Object引用没有设置为对象的实例,并且它位于get访问器行。它看起来像HttpContext。

HttpContext.Current is null for bots

您应该像这样检查Session是否为null:

public static bool BrowserSupportsJS
{
   get 
   { 
       if(HttpContext.Current.Session == null)
           return false;
       return (HttpContext.Current.Session["js_support"] != null 
           && ((bool)HttpContext.Current.Session["js_support"]));
   }
}