解决方案 »

  1.   


    asp.net对应每一个请求都会提供一个线程来处理~ 所以不会阻塞其他线程~你说的是进程,感觉你对进程和线程都分不清楚。service.Process 不知道你这个方法里面干了什么~
    public CachePage
    public string Url    //请求的url
    public string CacheContent //请求的url对应html内容
    public DateTime CacheTime //请求时间List<CachePage> list
    如果在这里list中找不到 
    如果在这里list中找到   但时间已经过期.....不说了 蛋疼
      

  2.   

    你这个“业余时间”白花了,还是乖乖使用asp.net 内置的 OutputCache 吧。
      

  3.   

    我觉得我代码写得很清晰了啊
    代码缺少文档所以看着蛋疼吧我后面把多线程处理去掉了
    ThreadPool.QueueUserWorkItem
    然后系统就稳定了难道ThreadPool.QueueUserWorkItem 这个方法在 iis 下要慎用?之前也遇到过这样的问题
      

  4.   

    asp.net本身就是多线程的,本身就有请求队列
    ThreadPool.QueueUserWorkItem这个不是不可以用,而是要看怎么用的看到你竟然自己去实现一个
    public class StoreDataInfo
        {
            public string Type { get; set; }
            public string Key { get; set; }
            public DateTime CreatedDate { get; set; }
            public DateTime ExpiresAbsolute { get; set; }
            public int Seconds { get; set; }
        }
    然后自己去维护过期移除,至少这个你是白做了,而且出问题的也就是这一块
    直接用.Net提供的HttpRuntime.Cache就行了,过期移除已经在内部自动处理了
      

  5.   

    我觉得我代码写得很清晰了啊
    代码缺少文档所以看着蛋疼吧我后面把多线程处理去掉了
    ThreadPool.QueueUserWorkItem
    然后系统就稳定了难道ThreadPool.QueueUserWorkItem 这个方法在 iis 下要慎用?之前也遇到过这样的问题
    sp.net对应每一个请求都会提供一个线程来处理~ 
    sp.net对应每一个请求都会提供一个线程来处理~ 
    sp.net对应每一个请求都会提供一个线程来处理~ 
    sp.net对应每一个请求都会提供一个线程来处理~ 
    sp.net对应每一个请求都会提供一个线程来处理~ 
    sp.net对应每一个请求都会提供一个线程来处理~ 
      

  6.   

    我觉得我代码写得很清晰了啊
    代码缺少文档所以看着蛋疼吧我后面把多线程处理去掉了
    ThreadPool.QueueUserWorkItem
    然后系统就稳定了难道ThreadPool.QueueUserWorkItem 这个方法在 iis 下要慎用?之前也遇到过这样的问题

    如果是要实现缓存页面的话,asp.net本身就提供了缓存页面的功能,百度搜索一下页面级缓存就能看到相应的做法了
      

  7.   

    我觉得我代码写得很清晰了啊
    代码缺少文档所以看着蛋疼吧我后面把多线程处理去掉了
    ThreadPool.QueueUserWorkItem
    然后系统就稳定了难道ThreadPool.QueueUserWorkItem 这个方法在 iis 下要慎用?之前也遇到过这样的问题

    如果是要实现缓存页面的话,asp.net本身就提供了缓存页面的功能,百度搜索一下页面级缓存就能看到相应的做法了
    Asp.net 的缓存不行
    在高访问量高数据量的情况下应付不来
      

  8.   


     我缓存的是一个列表 List<StoreDataInfo> , list 中的每个元素 都有过期时间,   HttpRuntime.Cache 无法实现