如何使用 SharpSnmp 获取原始 TimeTicks?
How to obtain raw TimeTicks with SharpSnmp?
我正在尝试使用#snmp (Lextm.SharpSnmpLib.9.0.1) 和 C# 来监控系统运行时间。
这是我的代码:
public int GetUptime()
{
var uptimeMessage = new GetNextRequestMessage(0, VersionCode.V1, new OctetString("public"),
new List<Variable>
{
new Variable(new ObjectIdentifier(Oids.SystemUpTime))
});
var response = uptimeMessage.GetResponse(10000, _agentEndPoint);
var ticks = response.Pdu().Variables[0].Data.ToString();
return int.Parse(ticks);
}
但是我在尝试为 TimeTicks 类型的响应获取 .Data 属性 时遇到 CS0103 错误。
这是VS2015的检查Window
如果这不是错误,我如何使用#snmp 访问原始报价值?
通过查看这个库中TimeTicks
的源代码可以看到ToString
方法实际上生成了一个基于.NETTimeSpan
的字符串。这就是为什么当您尝试将其解析为 int
异常时。
至于这个 OID,你已经知道 Data
是一个 TimeTicks
你应该转换成那个类型然后调用 ToUInt32
.
我正在尝试使用#snmp (Lextm.SharpSnmpLib.9.0.1) 和 C# 来监控系统运行时间。
这是我的代码:
public int GetUptime()
{
var uptimeMessage = new GetNextRequestMessage(0, VersionCode.V1, new OctetString("public"),
new List<Variable>
{
new Variable(new ObjectIdentifier(Oids.SystemUpTime))
});
var response = uptimeMessage.GetResponse(10000, _agentEndPoint);
var ticks = response.Pdu().Variables[0].Data.ToString();
return int.Parse(ticks);
}
但是我在尝试为 TimeTicks 类型的响应获取 .Data 属性 时遇到 CS0103 错误。
这是VS2015的检查Window
如果这不是错误,我如何使用#snmp 访问原始报价值?
通过查看这个库中TimeTicks
的源代码可以看到ToString
方法实际上生成了一个基于.NETTimeSpan
的字符串。这就是为什么当您尝试将其解析为 int
异常时。
至于这个 OID,你已经知道 Data
是一个 TimeTicks
你应该转换成那个类型然后调用 ToUInt32
.