Программный поиск времени работы сервера

Кто-нибудь знает способ программно определить время безотказной работы сервера под управлением Windows 2000? У нас есть служба, работающая на машине, написанная на VB.NET, которая сообщает нашему серверу через веб-службу.


person Brian    schedule 11.06.2009    source источник


Ответы (2)


Другой способ - использовать счетчики производительности из .NET, например.

Dim pc As PerformanceCounter = New PerformanceCounter("System", "System Up Time")

pc.NextValue() ' This returns zero for a reason I don't know

' This call to NextValue gets the correct value
Dim ts As TimeSpan = TimeSpan.FromSeconds(pc.NextValue())

Таким образом, класс PerformanceCounter возвращает количество секунд, в течение которых система работала, и оттуда вы можете делать то, что хотите.

person KnackeredCoder    schedule 11.06.2009
comment
Спасибо, у меня это сработало. В качестве ссылки для других людей я использовал преобразованный код VB: Dim uptimeTs As New TimeSpan () Dim pc As New PerformanceCounter (System, System Up Time) pc.NextValue () uptimeTs = TimeSpan.FromSeconds (pc.NextValue () ) - person Brian; 11.06.2009
comment
Прошу прощения за форматирование, я новичок на этом сайте и все еще привык получать новые строки в комментариях - person Brian; 11.06.2009

Если у вас включен SNMP, вы можете запросить следующий OID: 1.3.6.1.2.1.1.3.0. Это даст вам время безотказной работы. Он определяется как «Время (в сотых долях секунды) с момента последней повторной инициализации части управления сетью».

person Community    schedule 11.06.2009