ASP.NET - 通过索引为Session对象赋值可以引发错误

时间:2012-04-09 05:59:28

标签: asp.net session-state

当我写:

Session["conString"]= theConString;

完美无缺。但如果我试着写:

Session[0] = the ConString;

我得到“索引超出范围。必须是非负数且小于集合的大小”错误。我知道这是数组的典型错误。这意味着我正在尝试设置不存在的对象的值。但是,为什么我可以通过指定会话对象的名称来实现它。有以下方法:1提供字符串名称或数字索引。我需要这个选项,因为在其他页面上我不想记住字符串名称,而是我想声明全局常量并使用这些常量名称访问它们。

1 个答案:

答案 0 :(得分:1)

初始化时,会话的容器长度为0,因此您尝试设置尚不存在的元素的值。而使用命名键将根据需要调整容器大小。