例外: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"]);
但是我的老板问我为什么突然发生这个错误。
谁能回答这个问题?
Convert.ToInt32() 函数在内部调用解析函数,但在第一个实现中,您使用装箱和取消装箱。会话中的值在分配时应为整数类型。