Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
I am developing a WPF application that uses an SQL Express database and runs on the clients PC (as well as the database). This application will be used by multiple clients but every client's database will contain unique records. The database contains textual data as well as image blobs, thus its size can become pretty large (2GB on average).
 
Now I want to make an up to date backup to a central server in a datacenter. Furthermore I would like to provide an ASP.net MVC based backoffice to the clients so they can also manipulate data from anywhere on the net without having access to the application itself.
 
After searching around for a while I have found the MS Sync Framework and I think this will be a great way to accomplish this, since it will create a copy of the clients local database and they will be able to modify data on this copy that will be synced back to the local db, even when the local PC is turned off (sync on next startup).
 
Since there is already an WCF service in place for licensing purposes and other functions, I would like to also use this for the sync, which seems perfectly possible
 
However, all examples I find on the internet speak about multiple clients working on a copy of the same database which is then synced to eachother through a central hub or in a peer to peer fashion.
 
I cannot find any examples however how I would be able to keep a copy of each client seperately on the server. I suppose I need to create a db on the server's SQL for each client, and figure out a way to have the WCF use this db.
Each client is identified on the WCF by its authentication certificate's DN.
 
Please advice how I could do this, if this would be the best way, if there is a way to easily provision the db for the client on the server on the fly (I don't want to set these up manually). I am also wondering what then would be the best way to update all these databases (on the server and the clients) when the schema would change.
Posted 3-Apr-12 12:48pm
saxgod258
Edited 3-Apr-12 12:49pm
v2

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Hi,
 
i am bit confuse, if you would like to sync all the client database then why you want separate databases on server for each client ?
 
Actually Sync framework will synchronize your specified databases at specified interval time. it can be set as downloadable/uploadable or both.
 
If you need separate copy for each client and do not want to sync between two client then you can point your sync service with different server database instead of central database.
 
hope this information will helpful to you,
 
thanks
-amit.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Dnyaneshwar@Pune 719
1 CPallini 245
2 CHill60 235
3 Sergey Alexandrovich Kryukov 230
4 TheRealSteveJudge 208
0 Sergey Alexandrovich Kryukov 9,078
1 OriginalGriff 6,771
2 Peter Leow 4,262
3 Zoltán Zörgő 3,809
4 Richard MacCutchan 2,663


Advertise | Privacy | Mobile
Web04 | 2.8.150128.1 | Last Updated 4 Apr 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100