当前位置:编程学习 > C#/ASP.NET >>

请教 asp.net 中大一点的缓存被清空问题。


private static X训练器 _x训练器;


protected void Page_Load(object sender, EventArgs e)
{
  if ( _x训练器 == null)
    {
        _x训练器 = new X训练器();

        Response.Write("训练器空值");
    }
    else
    {
        Response.Write("训练器有值");
    }

结果 它每次都要去 运行这个 new
不是代码问题,是缓存稍微大一点就会被全部回收的问题。

这个(X训练器)类是我调用的com组件的封装类,大约会占用 10多M内存。而且new X训练器()装入静态变量后,或者装入Cache 对象后, 会导致全站所有静态变量时效。  肯定是因为占用内存问题,被回收了。 Cache的字节 也在web.config 中设置得非常大了。
<caching>
      <cache privateBytesLimit="1000000000"/>
  </caching>

vs.net 2008 环境  只带模拟器 和iis.都试过。  操作系统试过 xp 和windows2003
--------------------编程问答-------------------- 还有很多属性可以设置,如percentagePhysicalMemoryUsedLimit
http://msdn.microsoft.com/zh-cn/library/ms228248.aspx
http://forums.asp.net/p/962451/1199949.aspx --------------------编程问答--------------------     <caching>
      <cache privateBytesLimit="1000000000" percentagePhysicalMemoryUsedLimit="100" />
    </caching>

都试过,不行。 --------------------编程问答-------------------- 其他几个我再试试,稍等 --------------------编程问答--------------------     <caching>
      <cache privateBytesLimit="1000000000" percentagePhysicalMemoryUsedLimit="100"  disableExpiration="true"  disableMemoryCollection="true" />
    </caching>

这样都不行, 因该不关 cathing 设置的问题。
我做个单例的静态变量都不行。 只要载入了 new X训练器() 入内存堆空间,  static 的变量全部同时被回收。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,