Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何确定ASP.Net缓存的总大小?_C#_Asp.net_Caching_Performancecounter - Fatal编程技术网

C# 如何确定ASP.Net缓存的总大小?

C# 如何确定ASP.Net缓存的总大小?,c#,asp.net,caching,performancecounter,C#,Asp.net,Caching,Performancecounter,我在一个web项目中使用ASP.net缓存,我正在为它编写一个“状态”页面,其中显示缓存中的项目,以及尽可能多的有关缓存的统计信息。是否有任何方法可以获取缓存数据的总大小(以字节为单位)?每件物品的尺寸会更好。我想在网页上显示它,所以我认为我不能使用性能计数器。没有尝试过。但也许你可以用。或者以它为例。我正在查看我的性能监视器,在ASP.NET Apps v2.0.50727类别下,我有以下与缓存相关的计数器: 已使用的缓存%计算机内存限制 已使用的缓存%进程内存限制 在这个类别下还有许多其他与

我在一个web项目中使用ASP.net缓存,我正在为它编写一个“状态”页面,其中显示缓存中的项目,以及尽可能多的有关缓存的统计信息。是否有任何方法可以获取缓存数据的总大小(以字节为单位)?每件物品的尺寸会更好。我想在网页上显示它,所以我认为我不能使用性能计数器。

没有尝试过。但也许你可以用。或者以它为例。

我正在查看我的性能监视器,在ASP.NET Apps v2.0.50727类别下,我有以下与缓存相关的计数器:

已使用的缓存%计算机内存限制

已使用的缓存%进程内存限制

在这个类别下还有许多其他与缓存相关的指标

这些应该可以得到百分比,然后如果您可以通过
缓存.EffectivePrivateBytesLimit
或其他调用获得允许的总数,您应该能够计算出来。我个人没有使用这些计数器的经验,因此您必须进行一些研究和测试以验证

下面是一篇关于读取性能计数器的快速入门文章:

这个网站伤了我的眼睛:p这个链接已经死了,我在ASP联盟网站上找不到这篇文章:(PerformanceCounter pc=new PerformanceCounter(“ASP.NET应用程序”,“使用了缓存%的机器内存限制”,true);pc.InstanceName=“TOTAL”;CacheMachineMemoryLimitUsedLiteral.Text=string.Format({0:0.00}%),pc.NextValue());注意,由于标记的原因,Mike的代码在注释中的“TOTAL”标记的开头和结尾应该有两个下划线。标记与消息中的标记相同,只需在代码之前和之后添加`作为“代码”…对于此示例:
pc.InstanceName=“\uuuuuuuu TOTAL”;
可以从中读取