locked
objects in the database can participate in only one synchronization session at a time with a particular client RRS feed

  • Question

  •  

    I am one of three developers’ who are building an enterprise windows application for a desktop/tablet pc. This application will have users who are office staff and field workers. The field workers will take the tablet pc into the field and collect data, sometimes disconnected or offline from the company network. From what I have seen and read, Synchronization Services for ADO.NET is very powerful and has many great features. 

    I have researched Synchronization Services for ADO.NET books online and found this topic in section:

    Considerations for Application Design and Deployment => Database Objects Supported by Synchronization Services

     

    "The database on the server can participate in multiple synchronization sessions. However, objects in the database can participate in only one synchronization session at a time with a particular client. If a table is being synchronized and the Synchronize method is called again for that table, Synchronization Services throws an exception. The client database supports only one synchronization session at a time."

     

    It seems that one table on the server can by synchronized by one client table at a time. And two client tables cannot sync with one server table at the same time.

     

    How does Sync Services intend for 100-150 users to sync without resulting in frequent error exceptions?

     

    Thanks, Jason

    • Moved by Max Wang_1983 Friday, April 22, 2011 9:14 PM forum consolidation (From:SyncFx - Microsoft Sync Framework Database Providers [ReadOnly])
    Tuesday, December 18, 2007 3:10 PM

Answers

  •  

    Oh no! I think the statement is misleading. I think the intent was to say, "on the client, you cannot call Synchronize() twice on the agent object"

     

    Apart from this statement, the server is definitely capable of synchronizing with as many clients as it can handle. The architecture of sync services underlines the desire for scalable solution by ensuring that server is stateless.

     

    Thanks

     

    Tuesday, December 18, 2007 7:36 PM

All replies

  •  

    Oh no! I think the statement is misleading. I think the intent was to say, "on the client, you cannot call Synchronize() twice on the agent object"

     

    Apart from this statement, the server is definitely capable of synchronizing with as many clients as it can handle. The architecture of sync services underlines the desire for scalable solution by ensuring that server is stateless.

     

    Thanks

     

    Tuesday, December 18, 2007 7:36 PM
  • Thanks for the quick response!!

    It was leading me to believe that the entire table would be locked while under a sync.

     

    What does the statement indend to imply? Error if the client tries to sync twice simultaniously?

    "The database on the server can participate in multiple synchronization sessions. However, objects in the database can participate in only one synchronization session at a time with a particular client. If a table is being synchronized and the Synchronize method is called again for that table, Synchronization Services throws an exception. The client database supports only one synchronization session at a time."

     

    Thanks, Jason

     

    Wednesday, December 19, 2007 2:34 PM