Hello All
I am using IG for Windows Forms and would like to know if anyone is using this as a multi-user application.
Specific query would be if someone updates the calendar controls, do the rest of the users see the updates as well or is there some sort of trigger I would have to use to "refresh" other users screens?
Thanks in advance
Gail
This is a general database application problem, the solution for which being provided by the data adapter layer. SQLServer2005, for example, provides a mechanism for notifying a "dependent" that the underlying data has changed, via the SqlDependency class. The basic approach is to assign a dependency to an SqlCommand, and then when the data has changed such that the query associated with the command would yield a different result set, the server issues a notification to registered listeners. The bad news is that this is considered by some to be difficult to implement...there are several hard-to-recognize-at-first-glance caviats; for example, you cannot use a select command like "SELECT * FROM dbo.[Whatever];" because you have to explicitly list the columns, i.e., "SELECT col1, col2, ...". If you google "SqlDependency" you will get some hits that are links to blogs of some folks that were kind enough to enumerate these caviats, presumably making the undertaking a little less painful.
I have done the same thing in my prototype app.
Multi-user appointments with .NET Remoting (Binary over TCP)
Numerous challenges are faced when users are concurrently using the same datasource.
In environments other than Remoting (webservices/.NET Remoting) my solution may have been different... but basically i have implemented my own LOCKING strategy...
eg: ScreenX has the following lock - Owner1 / 30-01-2008 10:00am to 30-01-2008 10:30am
Before display appointment dialog I do a check against the server for the existance of any locks not belonging to screen I am on etc.
Basically there are lots of checks against the server for Locks or the existance of any appointments which are not displayed to the user.
I also force a refresh of the appointments (just a single days appointments for example) at strategic points in the workflow (ie before creating a new appointment etc)
I know in .NET remoting you can raise events from Server to client... but many warnings are out there against this, so I chose not to do it implement a "strategic polling" approach rather than purely an event based approach.
Sorry if this post is a bit unclear and unspecific but my approach is quiet complex and so far not completely documented, but I hope this helped in some small way.
CheersAaron
Hi All
Still looking for any tips or suggestions on how to get this to work