1
내가 PerformanceCounter 클래스를 사용하여 다른 원격 시스템의 CPU 사용량을 찾기 위해 노력하고 있지만 예외 던지고있다 :CPU 사용량의 C#을 (성능 카운터)를 사용하여
"System.ComponentModel.Win32Exception을 : 네트워크를 내가 성능 카운터 개체의 컴퓨터 이름 속성에 내 컴퓨터 이름을 설정 한 경우 경로가 System.Diagnostics.PerformanceMonitor.Init()에서 를 찾을 수 없습니다 "
그것은 잘 작동된다.
원격 컴퓨터에서 방화벽 설정을 해제했습니다.
공공 부분 클래스 Default10 :
코드는 다음과 같습니다 System.Web.UI.Page {
private PerformanceCounter cpucounter;
private PerformanceCounter ramcounter;
protected void Page_Load(object sender, EventArgs e)
{
try{
InitialiseCPUCounter();
InitialiseRAMCounter();
//cpucounter.NextValue();
cpucounter.MachineName = "XXXXXXXXX";/*Remote Machine Name*/
cpucounter.NextValue();
System.Threading.Thread.Sleep(1000);
this.Label1.Text = "CPU Usage:" + Convert.ToInt32(cpucounter.NextValue()).ToString() + "%"+"<br/>";
this.Label2.Text ="RAM Usage: " +Convert.ToInt32(ramcounter.NextValue()).ToString() + "MB<br/>";
}
catch(Exception ex)
{
Response.Write(ex);
}
}
private void InitialiseCPUCounter()
{
cpucounter = new PerformanceCounter("Processor", "% Processor Time", "_Total", true);
}
private void InitialiseRAMCounter()
{
ramcounter = new PerformanceCounter("Memory", "Available MBytes", true);
}
}
코드를 추가하면 문제를 더 잘 이해할 수 있습니다. –
MachineName이 올바른지 100 % 확신합니까? 그 PC에 접속할 권리가 있습니까? – szpic
예 MAchine 이름은 correct.as입니다. MachineName은 속성이므로 액세스 권한을 지정해야합니다. – user3151346