well, there are other solutions, but some of them have a lot of overhead.
One option I've used in similar situations is to use a timestamp on the data I'm monitoring. Then I have a dataset refresh more often, but only pull back the most recent time stamp. If the time stamp has changed (a new entry or modification) then I require the larger dataset. It's usually easier if you store the timestamp in a seperate table, either by itself, or in a change tracking/management system. That way you can track deletes also. The advantage is that pulling back a singular time stamp takes a lot less resources and bandwidth, so you can do it much more often. This isn't too important for an internal app where you have a solid 100mpbs+ network, but over web applications where people may be on dialup, it's much nicer.
Another option is to setup a client/server system for the app. In this case you would probrably want to store the IP of all active applications (someone starts the app, and their IP is added to a table. then remove it when they quit). When someone makes an update you can save the data, pull the list of IPs, open a connection to the app on those machines, and fire an event that will update their lists. This is a fun exercise to gothrough if for nothing else then to learn about multithreading and networking. It also has the most code overhead as you'll have to build the networking code.
Another option that I know little about is Remoting. I've heard people talk about it, but I have no idea what it's abilities/limitations are. Someone else would be better to talk to about it.
-Rick
----------------------
![[banghead] [banghead] [banghead]](/data/assets/smilies/banghead.gif)
If you're about to post an ASP.Net question,
please don't do it in the VB.Net forum
![[monkey] [monkey] [monkey]](/data/assets/smilies/monkey.gif)
I believe in killer coding ninja monkeys.
![[monkey] [monkey] [monkey]](/data/assets/smilies/monkey.gif)