I want to write an application which will run in the background, gathering data from multiple sources (remote devices) and aggregating into a DB; my preference is C# and that's how we do most things these days.
However sometimes I would like to change which sources are consumed. This is not a polling application otherwise I'd just have it re-read config each poll, it maintains open connections, etc. It could still re-read config in a separate thread and kill/open connections I guess. Or I could even go low-tech and make users kill and re-launch the process each time... it's a server application so that would be a sysadmin task performed very rarely - typically we need to release a connection so someone else can connect to the external source which only allows one connection at a time.
But this is all a bit clunky. When I did these things in C++ we used COM so a little utility GUI application could connect to the server application and interact with it, and C# supports COM but I really dislike it, I'd prefer not having reg-scripts involved for preference and portability.
Is there an easy way to do the same thing in C#/.NET? The utility app would run on the same server - or it would be such a minimal inconvenience that we can have this limitation if it allows a simpler implementation.
How might you design this, .NET experts?
However sometimes I would like to change which sources are consumed. This is not a polling application otherwise I'd just have it re-read config each poll, it maintains open connections, etc. It could still re-read config in a separate thread and kill/open connections I guess. Or I could even go low-tech and make users kill and re-launch the process each time... it's a server application so that would be a sysadmin task performed very rarely - typically we need to release a connection so someone else can connect to the external source which only allows one connection at a time.
But this is all a bit clunky. When I did these things in C++ we used COM so a little utility GUI application could connect to the server application and interact with it, and C# supports COM but I really dislike it, I'd prefer not having reg-scripts involved for preference and portability.
Is there an easy way to do the same thing in C#/.NET? The utility app would run on the same server - or it would be such a minimal inconvenience that we can have this limitation if it allows a simpler implementation.
How might you design this, .NET experts?
Comment