为什么要检查会话变量中的空引用导致ArgumentOutOfRangeException?

时间:2018-10-10 15:56:54

标签: asp.net iis

第一行在远程服务器上运行时生成异常。 在我的开发笔记本上通过IIS Express运行代码时没有错误。

if (Session["LdapData"] == null) {
  // do something 
}

例外:

  

[ArgumentOutOfRangeException:Der索引滞后于Bereichs。尔   消灭种族和犯罪。参数名称:   索引] System.Collections.ArrayList.get_Item(Int32索引)+14539412   System.DirectoryServices.ResultPropertyValueCollection.get_Item(Int32   索引)+93

Microsoft完全相同地执行此操作: https://msdn.microsoft.com/de-de/library/03sekbw5(v=vs.100).aspx

if (Session["City"] == null) 
    // No such value in session state; take appropriate action.

有任何调试想法吗?

编辑: 还阅读了这篇文章,但没有明白这一点:

Difference between Session and HttpContext.Current.Session

How to use sessions in an ASP.NET MVC 4 application?

1 个答案:

答案 0 :(得分:0)

该异常与引号行无关。 不知道为什么,但是IIS生成的显示行号不正确。确实,该异常是由ldap查询引起的,代码下面的某些行。