none
Sync files from a server computer to two or more client computers (one way sync) RRS feed

  • Question

  • I am using FileSyncProvider to sync the files on server computer to two or more client computers. It is a one way sync from server files to client files.. All these computers are on network

    To synchronize the files, I am using two FileSyncProvider objects (local and remote) and a SyncOrchestrator object.  I start the synchronization on client computers and the synchronization is running continuously on each client computers.


    However sometimes I get the error on one of client computer 

           A storage engine operation failed with error code 25035 (HRESULT = 0x80004005, Source IID = {0C733A8B-2A1C-11CE-ADE5-00AA0044773D}, Parameters=(0, 0, 0, \\serverComp\Data\filesync.metadata, , , )).

    In one of the post from Bjerner "Sync files from two mobile computers to a common file share", Deepa Choundappan has replied back saying "create separate metadata files for the common share for each mobile computer...." I guess I didnt quiet understand how I can do that...

    Besides in my scenario, server computer doesn't have knowledge of which client computers are synchronizing with it. However client computers do know about the server computer it is synchronizing to...


    Please suggest how I can get rid of this occassional error.

    Thanks,
    Savy
    Friday, January 22, 2010 3:25 PM

Answers

  • Hi Savy -

    This is a file sharing violation - both the applications on the client computers are trying to open the same server metadata file. One way of doing this is to create a metadata file for the server location on the client computer itself. You can do this by using the constructor on the FileSyncProvider that takes the metadata file path and pointing it to a local directory. Each client computer would do this and you have two metadata files representing the same server file share.

    Another way - if this is only an occasional error would be to just handle the error in your sync'ing application and retrying after backing off for a while.

    Thanks
    Deepa
    Deepa ( Microsoft Sync Framework)
    Friday, January 22, 2010 6:34 PM
    Answerer

All replies

  • Hi Savy -

    This is a file sharing violation - both the applications on the client computers are trying to open the same server metadata file. One way of doing this is to create a metadata file for the server location on the client computer itself. You can do this by using the constructor on the FileSyncProvider that takes the metadata file path and pointing it to a local directory. Each client computer would do this and you have two metadata files representing the same server file share.

    Another way - if this is only an occasional error would be to just handle the error in your sync'ing application and retrying after backing off for a while.

    Thanks
    Deepa
    Deepa ( Microsoft Sync Framework)
    Friday, January 22, 2010 6:34 PM
    Answerer
  • Hi Deepa,
    Thanks for the reply. I was trying to look for how to create the metadata file that I can pass on in the FileSyncProvider constructor. However I am not able to find any sample code or document that shows how to do it. Can you please provide some sample code or point me to a direction where I can find it.

    So far I am seeing only an occassional error. So what would be better an easy solution? Storing server metadata file on client or handling the error in sync app? And if I go for error handling,  can you suggest how it can be done?

    Thanks,
    Savy
    Monday, January 25, 2010 6:38 PM