如何使用SharpSnmp获取原始TimeTicks?

时间:2016-06-16 11:32:28

标签: c# compiler-errors sharp-snmp

我正在尝试使用#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的检查窗口 enter image description here

如果这不是错误,我如何使用#snmp?

访问原始刻度值

1 个答案:

答案 0 :(得分:1)

通过检查此库中TimeTicks的源代码,您可以看到ToString方法实际上生成了一个基于.NET TimeSpan的字符串。这就是为什么当你尝试解析int异常时。

至于此OID,您已经知道Data将是TimeTicks您应该转换为该类型,然后致电ToUInt32