请教 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