转换错误Cache对象

时间:2013-01-17 17:04:35

标签: c# asp.net

if (System.Web.HttpContext.Current.Cache.Get("dsActiveNews_FixID_" + newsFixID) == null)
                news = NewsDB.getNewsBodyByFixID(newsFixID);
                System.Web.HttpContext.Current.Cache.Add("dsActiveNews_FixID_" + newsFixID, news, null, DateTime.Now.AddMinutes(60), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
            }
            news = (News)(System.Web.HttpContext.Current.Cache.Get("dsActiveNews_FixID_" + newsFixID));

第一次当我调用页面时,转换正在运行,当我刷新页面时,我得到异常InvalidCastException: Specified cast is not valid

1 个答案:

答案 0 :(得分:0)

可能是null /或其他一些对象并且无法强制转换,因此请将其检查为

var oNews = System.Web.HttpContext.Current.Cache.Get("dsActiveNews_FixID_" + newsFixID) as News;

if(oNews != null)
{    
}