CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

Cache 使用中的错误问题,哪位大哥 可以帮我看看,

楼主csdnfly(天地合一)2005-03-04 16:46:59 在 .NET技术 / ASP.NET 提问

Imports   System.Web.Caching  
   
  Module   SetCache  
          Dim   SetingSiteCache   As   New   Cache  
   
          Public   Sub   RemovedCallback(ByVal   k   As   String,   ByVal   v   As   Object,   ByVal   r   As   CacheItemRemovedReason)  
   
          End   Sub  
   
          Public   Sub   AddItemToCache(ByVal   sender   As   Object,   ByVal   e   As   EventArgs)  
                  If   (IsNothing(SetingSiteCache("Key1")))   Then  
                          SetingSiteCache.Add("Key1",   "Value   1",   Nothing,   DateTime.Now.AddSeconds(60),   TimeSpan.Zero,   CacheItemPriority.High,   New   CacheItemRemovedCallback(AddressOf   RemovedCallback))  
                  End   If  
          End   Sub  
   
          Public   Sub   RemoveItemFromCache(ByVal   sender   As   Object,   ByVal   e   As   EventArgs)  
                  If   (Not   IsNothing(SetingSiteCache("Key1")))   Then  
                          SetingSiteCache.Remove("Key1")  
                  End   If  
          End   Sub  
  End   Module  
   
   
  在   Sub   Application_Start(ByVal   sender   As   Object,   ByVal   e   As   EventArgs)中运行后出现如下错误。  
   
   
  “/”应用程序中的服务器错误。  
  --------------------------------------------------------------------------------  
   
  未将对象引用设置到对象的实例。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.NullReferenceException:   未将对象引用设置到对象的实例。  
   
  源错误:    
   
   
  行   9:      
  行   10:           Public   Sub   AddItemToCache(ByVal   sender   As   Object,   ByVal   e   As   EventArgs)  
  行   11:                   If   (IsNothing(SetingSiteCache("Key1")))   Then  
  行   12:                           SetingSiteCache.Add("Key1",   "Value   1",   Nothing,   DateTime.Now.AddSeconds(60),   TimeSpan.Zero,   CacheItemPriority.High,   New   CacheItemRemovedCallback(AddressOf   RemovedCallback))  
  行   13:                   End   If  
     
   
  源文件:   D:\NewZF\Config\Module\SetCache.vb         行:   11    
   
  堆栈跟踪:    
   
   
  [NullReferenceException:   未将对象引用设置到对象的实例。]  
        System.Web.Caching.Cache.get_Item(String   key)   +11  
        localhost.SetCache.AddItemToCache(Object   sender,   EventArgs   e)   in   D:\NewZF\Config\Module\SetCache.vb:11  
        localhost.Global.Application_Start(Object   sender,   EventArgs   e)   in   D:\NewZF\Global.asax.vb:44  
   
     
   
   
  --------------------------------------------------------------------------------  
  版本信息:   Microsoft   .NET   Framework   版本:1.1.4322.573;   ASP.NET   版本:1.1.4322.573 问题点数:100、回复次数:12Top

1 楼zyug(LovlyPuppy)回复于 2005-03-04 16:50:35 得分 10

顶  
  没用过Top

2 楼zhangaipl(烟酒僧)回复于 2005-03-04 16:52:23 得分 10

upTop

3 楼ziyan0218()回复于 2005-03-04 17:15:56 得分 10

不懂Cache    
  up一个Top

4 楼csdnfly(天地合一)回复于 2005-03-04 22:46:55 得分 0

自己UP一下.Top

5 楼yezie(椰子)(.Net)回复于 2005-03-04 22:54:32 得分 30

Cache("Key1")呢?Top

6 楼csdnfly(天地合一)回复于 2005-03-04 23:09:37 得分 0

要是用Cache("Key1")的话?在设计时就是说未定义了.Top

7 楼csdnfly(天地合一)回复于 2005-03-04 23:10:07 得分 0

这是在模块里写的,不知道是不是跟这个有关.  
  Top

8 楼csdnfly(天地合一)回复于 2005-03-04 23:11:01 得分 0

今天先睡觉了,明天再看看吧:)谢谢,楼上的同志们.Top

9 楼8LY8Apollo(阿波罗)回复于 2005-03-05 00:56:06 得分 10

C#中Cache的用法和Session差不多。Top

10 楼spz1755(empire)回复于 2005-03-05 01:06:20 得分 30

在c#直接是   Cache.Add(key,value,dependency,ablsoluteExpiration,slidingExpiration,priority,removeCallBack).  
  不用定义,用的时候先判断失效了没有。Top

11 楼csdnfly(天地合一)回复于 2005-03-05 23:08:30 得分 0

这个只能在页面里可以这样做,在模块中会出错的Top

12 楼csdnfly(天地合一)回复于 2005-03-05 23:30:34 得分 0

4.   将以下代码添加到   Global.asax   文件的代码隐藏模块中的   Application_Start   事件中:   Context.Cache.Insert   ("abc",   "Hello",   null,   DateTime.MaxValue,   TimeSpan.Zero);  
     
  5.   备注:   在   Global.asax   文件内部使用   Cache   对象时,必须通过   Context   对象(如   Context.Cache)来访问它。    
   
  -----------------------------------------------------------------------------------  
  Imports   System.Web.Caching  
  Module   Module1  
          Dim   onRemove   As   CacheItemRemovedCallback   =   New   CacheItemRemovedCallback(AddressOf   RemovedCallback)  
          Dim   myContext   As   HttpContext   =   New   HttpContext(Nothing)  
   
          Public   Sub   RemovedCallback(ByVal   k   As   String,   ByVal   v   As   Object,   ByVal   r   As   CacheItemRemovedReason)  
          End   Sub  
   
          Public   Sub   CacheRemove()  
                  If   (Not   IsNothing(myContext.Cache("Key1")))   Then  
                          myContext.Cache.Remove("Key1")  
                  End   If  
          End   Sub  
   
          Public   Sub   CacheAdd()  
                  If   (IsNothing(myContext.Cache("Key1")))   Then  
                          myContext.Cache.Add("Key1",   "Value   1",   Nothing,   DateTime.Now.AddSeconds(60),   TimeSpan.Zero,   CacheItemPriority.High,   onRemove)  
                  End   If  
          End   Sub  
  End   Module  
  ---------------------------------------------------------------------------------------  
   
  上面的代码通过。。。感谢朋友   香水(24976904)也谢谢大家Top

相关问题

  • 排序错误,各位大哥帮忙
  • 错误请教你们~~大哥
  • 输入法错误,大哥救命啊?
  • 那位大哥知道 使用rasapi是出现 缓冲区无效 的错误 是怎么回事? 50分 在线给分!
  • 使用CAsyncSocket错误
  • 大哥看这个错误是怎么回事
  • 这个错误怎么引起的 各位大哥 救救我!!!!!!!!!
  • 为什么老出错误,请大哥指教!
  • 大哥,看看为什么说我写内存错误!
  • EJB 布署错误 大哥哥们帮手

关键词

  • c#
  • 代码
  • 模块
  • 版本
  • setingsitecache
  • removedcallback
  • mycontext
  • isnothing
  • 错误
  • additemtocache

得分解答快速导航

  • 帖主:csdnfly
  • zyug
  • zhangaipl
  • ziyan0218
  • yezie
  • 8LY8Apollo
  • spz1755

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo