Asp.net 无法从类文件中分配会话变量值

Asp.net 无法从类文件中分配会话变量值,asp.net,vb.net,session,Asp.net,Vb.net,Session,我在尝试从VB VS2012中的类文件中分配会话值时遇到此错误 Object reference not set to an instance of an object. 我尝试了下面的两行代码,得到了相同的错误 System.Web.HttpContext.Current.Session("dbTblName") = dbTblName HttpContext.Current.Session("dbTblName") = dbTblName dbTblName变量由字符串值填充。函数类是

我在尝试从VB VS2012中的类文件中分配会话值时遇到此错误

Object reference not set to an instance of an object.
我尝试了下面的两行代码,得到了相同的错误

System.Web.HttpContext.Current.Session("dbTblName") = dbTblName

HttpContext.Current.Session("dbTblName") = dbTblName
dbTblName变量由字符串值填充。函数类是从对web服务的调用中调用的


啊,我想我看到了,这里没有http。哼

这很可能是因为会话所属的HttpContext对象在分配时在此范围或上下文中不可访问

为什么不在分配HttpContext之前检查它是否可用。然而,如果你能提供更多关于该课程的信息以及你在哪里调用它,那么就可以提供更好的帮助

更新:

如果要在服务中调用此方法,则可能需要服务对象上的方法属性来启用会话对象,因为默认情况下未启用此属性:

[WebMethod(EnableSession = true)]
public void CallingMethod()
{

}

你是从哪个班级打来的?你能包括这个吗?这是一个ASp.NET页面正在使用的类?这不是带外请求?甚至还没有调用它,它在任务中出错。它不会设置会话值。它是Friend函数中的一个公共类,在Try-Catch块中。我猜HttpContext.Current为null。您需要显示更多的代码来验证.System.Web.HttpContext.Current.Session(“dbTblName”)引用的对象的值为“Nothing”。ObjectI在监视中捕获了该值。这里有问题吗,我做错了什么?我以前从未见过这种情况。这也是由对web服务的调用触发的。上面更新了评论。图中,如果我查看其他服务,我会看到类似的设置,我早就编写了代码。对我来说不太好,但对你来说太棒了。我知道这很容易,当我看到你的答案时,我打了自己。我猜今天只是脑死亡!!!再次感谢@htm11h发生在每个人身上,很高兴我能帮上忙。