通过 ASP.NET AJAX 调用使用 PerformanceCounter

Posted

技术标签:

【中文标题】通过 ASP.NET AJAX 调用使用 PerformanceCounter【英文标题】:Using PerformanceCounter through an ASP.NET AJAX call 【发布时间】:2009-08-21 13:17:33 【问题描述】:

在我们的办公室里,我们有一个 40 英寸的 LCD 安装在墙上,它运行 Firefox 的全屏实例,该实例又承载一系列模块。这些模块中的每一个都是带有 AJAX 接口(通过 jQuery)的自包含 DIV到服务器来执行它的功能。

其中一个模块监控我们的服务器 CPU、内存和磁盘使用情况。

在服务器端,我们曾经使用 WMI,但通过重写尝试使用 .net 中的 PerformanceCounter 类。

然而,PerformanceCounter 类的问题在于默认的 IIS 匿名帐户无权接收所需信息。

我有一个有权检索这些统计信息的帐户并尝试使用:

<identity impersonate="true" ...account details... />

然而,这阻止了 IIS 运行任何东西,所以我猜该帐户没有网络服务器上的权限。

基本上我所追求的是一种在使用 PerformanceCounter 时模拟另一个帐户的简单方法,就像在 WMI 下一样。

【问题讨论】:

【参考方案1】:

给你两个想法:

您可以temporarily impersonate 具有正确访问权限的用户。 您可以创建一个 Windows 服务来询问 PerformanceCounters,并使用 WCF 从您的 Web 应用程序与该服务进行通信。

【讨论】:

以上是关于通过 ASP.NET AJAX 调用使用 PerformanceCounter的主要内容,如果未能解决你的问题,请参考以下文章

asp.net core 通过ajax上传图片及wangEditor图片上传

在 Ajax 调用期间保持 ASP.Net 会话处于活动状态

如何通过在 ASP.NET MVC 框架中调用 ajax 来显示 kendoDropDownList?

jQuery 通过 Ajax 在 ASP.NET MVC C# 中调用 Action 方法

如何在 ASP.NET MVC 中使用 Ajax 调用刷新局部视图?

如何使用 jQuery Ajax 调用从 ASP.NET Web Api 下载 CSV 文件