gpt4 book ai didi

c# - PerformanceCounter.NextValue() 抛出 InvalidOperationException

转载 作者:太空狗 更新时间:2023-10-29 20:34:38 26 4
gpt4 key购买 nike

这是创建性能计数器的代码:

var ftpPerfCounter = new PerformanceCounter("FTP Service", "Current Connections", "_Total");

这是异常发生的地方:

int cnt = (int)Math.Round(ftpPerfCounter.NextValue());

这是异常消息:

"Error Message: The Counter layout for the Category specified is invalid, a counter of the type: AverageCount64, AverageTimer32, CounterMultiTimer, CounterMultiTimerInverse, CounterMultiTimer100Ns, CounterMultiTimer100NsInverse, RawFraction, or SampleFraction has to be immediately followed by any of the base counter types: AverageBase, CounterMultiBase, RawBase or SampleBase."

错误消息非常隐晦。我不确定将来可以做些什么来避免异常。

详细信息

这发生在 Windows Server 2008 R2 64 位操作系统上。FTP 服务器是 IIS。

最佳答案

至少在我的带有 IIS 7.5 的 Windows Server 2008 R2 上,性能计数器类别称为“Microsoft FTP 服务”而不是“FTP 服务”。可能不同的 OS/IIS 版本不同,但很容易检查。

在您的目标服务器/机器上:

  1. 运行“性能监视器”
  2. 点击左侧导航 Pane 中的“性能监视器”
  3. 点击加号图标添加性能计数器
  4. 向下滚动可用计数器列表。查找 FTP 或 Microsoft FTP 以查看它是否存在...请注意,如果您没有安装 Microsoft FTP 服务,您将看不到性能计数器。
  5. 找到后,选择它,您将看到可以查询的特定计数器实例的列表。其中一个实例是您感兴趣的“_Total”。

当然这也证明性能计数器独立于你的代码工作。这是一件好事!

有关如何使用 Performance Counters in C#/.NET see this stackoverflow post 的具体最佳实践.

关于c# - PerformanceCounter.NextValue() 抛出 InvalidOperationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10739842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com