我正在开发一个C#(定位完整框架4)Windows应用程序。我需要该应用程序写入一些简单的计数器,更重要的是在发生重大应用程序事件时引发(或应该触发)一些SNMP陷阱。
现在大多数可用的.NET SNMP库可以做到这一点,到目前为止一切顺利。但是我有一个重要的进一步要求;我的MIB必须添加到PC自己的MIB中,它不能取代所有与你的Windows PC“无关紧要”的好东西。
这最后一个似乎是个大问题。我迄今为止的所有调查表明,任何.NET SNMP解决方案似乎都取代了Windows MIB和SNMP服务;他们取代Windows MIB来揭露你的。我需要添加我的Windows。
解决方案必须将自己的MIB添加到Windows部署PC,据我所知,这意味着必须(至少部分)提供非托管SNMP扩展DLL来扩展标准窗口SNMP服务。
答案 0 :(得分:1)
如果要扩展Microsoft的Windows SNMP代理,则必须使用非托管语言。
使用托管语言的可能性很小,因为Microsoft更喜欢WMI到SNMP,并且不会对当前的SNMP代理进行任何更改。
您可以咨询商业.NET SNMP代理商,看看他们是否已经实现了您需要的所有必要对象。据我所知,开源/免费的.NET SNMP供应商没有那么多资源来实现这些。
答案 1 :(得分:0)
我发现一个名为snmpsharpnet的程序集对于在.NET上运行SNMP非常有帮助。
您会在this StackOverflow中找到使用它的单向(高级)示例。
但请看文档。您可以通过两种方式使用此程序集:
试试吧。
另一种方法是在Windows顶部使用NET-SNMP。我想你可以在CygWin的顶部使用你的Linux工具。
JP
PS:法国人可以找到这个集会的第一步on my company blog