How to create an application that requires synchronized notifications on all client computers

We have an asp.net application that needs to be deployed to notify users when an update occurs. All users should be notified even if they don't have an asp.net app. All notifications should appear at the same time for everyone, so email is not an option. The application will run on a corporate network with standardized client computers running Windows XP. Approximately 45 users / client computers need to receive these updates.

My initial thoughts are to create a Windows service that runs on every client computer and poll the web service (say every minute) during business hours. When the update happens, the notification time will be set (say 5 minutes from the update). When client computers poll the Web service, they receive the update and use the notification time to schedule notification on the client computer. Client computers schedule notification based on the time on the server, not the time on the local computer. If this works correctly, all client computers will notify users at the same time.

Does this decision make sense? How would you do otherwise?

EDIT . If the client is disabled or disabled, it will not receive updates and they will not need to receive an update in the future. These updates are only relevant for a short period of time.

0


a source to share


4 answers


Have you considered Full Duplex WCF? He can do what you need.



0


a source


I would say to use the "push" method where each of the clients register with the host (from the service) and when the host receives an update it notifies all registered clients (services). But it seems to me that there are some issues that you need to consider; what if one (or more) clients are simply disconnected during the upgrade? Are they getting late or not at all? What if the network is not available for a set of users? Does this invalidate the update for all users?



+2


a source


I would not do the polling since all of your computers will do this and the polling is not "synchronous". At least not as much as the push can be. Use the push method (like juggernaut - http://juggernaut.rubyforge.org/ or push in Flash). I'm also pretty sure there is some kind of push client on Windows, but I'm not a desktop app developer ...

+1


a source


Not very familiar with ASP - but it doesn't seem like you need a specific language. Just update your POST to the web server and then your clients can poll that server at their leisure. Give them the latest number of X updates and they can decide if they need to update their interface. This design is better anyway, because if your application ever leaves ASP (or you create other clients that need this information), it is in standard (HTTP) communication format (RESTful design).

Also Windows command:

net send <message>

      

can be used by the network administrator to send messages to computers on this network

0


a source







All Articles