1

I am little confused in one of the design consideration. Following are my requirements:

  1. My web-application need to retrieve real time data through database.

  2. Every update in the data should be reflected back to user.

  3. A session can last for couple of hours

  4. Every user will have their personal data in the report (eg select * from user where User = ‘A1’;)

  5. There can be around 300-400 users at a time

  6. Data retrieval mechanism should be outside the main application (eg. Web services)

  7. Database is shared between my app and other apps

  8. I am using C#.

Now the following are the options I was considering:

  1. WCF web service: Every user will poll for the update for eg in every 5 sec make request to web service.

  2. Query Notification using SqlDependency and SqlCacheDependency: where every change in database will be notified to my web service and then my web service will notify every user (PS: additional mechanism to send data from my web service to my web app) http://www.codeproject.com/Articles/144344/Query-Notification-using-SqlDependency-and-SqlCach#heading0010

Aim is to minimize the load on database as much as possible. I really like the approach 1 because of its simplicity but not sure polling for so many user for very long time will have any performance issue?

user2692032
  • 771
  • 7
  • 26
  • How will you propagate push updates from the WCP app to the web app? That's another complication. – usr Feb 17 '14 at 17:20
  • I was thinking of using SignalR or other such mechanism. But as I mentioned earlier this takes all the simplicity from the project. – user2692032 Feb 17 '14 at 17:48
  • Can't you issue one polling request for all users at once? That would reduce the load caused by polling to almost nothing. Problem solved. – usr Feb 17 '14 at 18:36

0 Answers0