例外:2年后无效

本文关键字:无效 2年 例外 | 更新日期: 2023-09-27 18:31:18

我的VS2005 Web应用程序在过去两年中运行良好。但是今天它突然开始抛出无效投射的异常。

我的代码是:

int DistID = (int) this.Session["DISTRIBUTOR_ID"];

这条线工作了两年多。

但是现在它突然开始抛出无效投射的异常。我在调试模式下检查

this.Session["DISTRIBUTOR_ID"]

有效整数值为 1234。

我通过将代码更改为以下方面解决了这个问题:

int DistID = Convert.ToInt32(this.Session["DISTRIBUTOR_ID"]);

但是我的老板问我为什么突然发生这个错误。

谁能回答这个问题?

例外:2年后无效

Convert.ToInt32() 函数在内部调用解析函数,但在第一个实现中,您使用装箱和取消装箱。会话中的值在分配时应为整数类型。