I am developing a C# (targeting full framework 4) windows app. I need that app to write to a few simple counters and more importantly raise (or should that be fire) a few SNMP traps when significant app events occur.
Now most .NET SNMP libraries avalable can do this, so far so good. However I have one significant further requirement; my MIB must add to the PC's own MIB, it must not replace all the good SNMP things that come "out of the bag" with your Windows PC.
This last one seems to be the big deal. All my investigations to date indicate any .NET SNMP solutions out there seem to replace the Windows MIB and the SNMP service(s); they replace the Windows MIB to expose yours. I need to add mine to Windows.
The solution must add its own MIB to the Windows deployment PC, which from what I can tell, means it must (at least in part) provide an unmanaged SNMP extension DLL to extend the standard windows SNMP service.
If you want to extend Microsoft's Windows SNMP agent, you have to use unmanaged languages.
There is little possibility to use managed languages, as Microsoft prefers WMI to SNMP and would not make any change to current SNMP agent.
You may consult a commercial .NET SNMP agent vendor to see if they already implement all necessary objects you need. As far as I know, open source/free .NET SNMP vendors do not have that much resource to implement those.