PerformanceCounter.RawValue 属性
获取或设置此计数器的原始值(即未经过计算的值)。
**命名空间:**System.Diagnostics
**程序集:**System(在 system.dll 中)
语法
声明
Public Property RawValue As Long
用法
Dim instance As PerformanceCounter
Dim value As Long
value = instance.RawValue
instance.RawValue = value
public long RawValue { get; set; }
public:
property long long RawValue {
long long get ();
void set (long long value);
}
/** @property */
public long get_RawValue ()
/** @property */
public void set_RawValue (long value)
public function get RawValue () : long
public function set RawValue (value : long)
属性值
计数器的原始值。
异常
异常类型 | 条件 |
---|---|
您试图设置计数器的原始值,但该计数器是只读的。 - 或 - 此实例未与性能计数器正确关联。 - 或 - 使用全局共享内存时,InstanceLifetime 属性设置为 Process。 |
|
访问系统 API 时出错。 |
|
平台为 Windows 98 或 Windows Millennium Edition (Me),这些平台不支持性能计数器。 |
备注
如果计数器类型是 32 位大小,则试图将此属性设置为因太大而不合适的值时,该属性会将该值截断为 32 位。读取本地计算机上的自定义计数器时,在原始值即可的情况下,使用 RawValue 属性而不使用计算所得值可显著提高性能。
如果所读取的计数器是只读的,则获取 RawValue 属性将在调用该属性时对计数器取样。此操作等效于初始调用 NextSample 方法。如果您随后调用 NextSample,则可对两个调用返回的值进行计算。
因为系统计数器是只读的,所以您可以获取但不能设置它们的原始值。
提示
Increment、IncrementBy 和 Decrement 方法使用联锁更新计数器值。这有助于在多线程或多进程方案中保持计数器值准确,但同时会导致性能下降。如果不需要联锁操作所提供的准确度,可以直接更新 RawValue 属性以获得多达 5 倍的性能提高。但是,在多线程方案中对计数器值的某些更新可能被忽略,导致数据不准确。
提示
如果 InstanceLifetime 属性的值为 Process 并且性能计数器类别是使用 .NET Framework 版本 1.0 或 1.1 创建的,则会引发 InvalidOperationException。使用早期版本创建的性能计数器类别使用全局共享内存,并且 InstanceLifetime 的值必须为 Global。如果该类别未由在 .NET Framework 版本 1.0 或 1.1 上运行的应用程序使用,请将其删除并重新创建该类别。
.NET Framework 安全性
- PerformanceCounterPermission 用于读取性能计数器类别。关联的枚举:PerformanceCounterPermissionAccess.Read。
- PerformanceCounterPermission 用于写入性能计数器类别。关联的枚举:PerformanceCounterPermissionAccess.Write。
平台
Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
请参见
参考
PerformanceCounter 类
PerformanceCounter 成员
System.Diagnostics 命名空间