高难问题:老外的项目中喜欢把对象缓存到上下文中?测试时如何办?代码举列:// 首先从上下文中取出对象
ThreadSet threadSet = context.Items[cacheKey] as ThreadSet;// 如果上下文中无缓存,才会从全局缓存中读取            
if (threadSet == null ) 
   threadSet = Cache.Get(cacheKey) as ThreadSet;
把对象缓存到上下文中,再读取据微软说是比全局缓存要快速。这个可以理解。但是采用缓存到上下文中的程序可能面临两个障碍:1、后台线程调用时出错;
2、测试时可能也会出错;因为这时上下对象无效;这时比较郁闷各位大哥碰到过这种问题吗?你如何解决?谢谢!!!

解决方案 »

  1.   

    什么叫做“上下文”?上下文就是你说的ThreadSet么?那么你说的ThreadSet又是哪里定义的,哪里可以看得到源代码?
      

  2.   

    使用context.Item和使用Cache根本就是两个明确的业务操作,哪一个都不能少,怎么成为可对比、可替换的东西了呢?
      

  3.   


    context.Item和Cache, 不是可替换的意思! 我感觉是补充的意思....老外原来的代码也没用context.Item作为缓存中转, 现在才加入的context.Item, 只是让
    程序跑得更快, 但却发现测试和后台线程中无法用context, 比较郁闷......除了对上下文对象作null识别外, 不知还有无更好的应对方法??