Suportando tarefas de sincronização simultâneas
O Sync Framework permite que os usuários criem provedores que podem dar suporte a tarefas de sincronização simultâneas. Porém, ele não dá suporte a sincronização paralela usando o mesmo objeto de sessão. Para desenvolver um provedor habilitado por sincronização simultâneo, use estas diretrizes:
O provedor deve fornecer proteções para bloquear e desbloquear o conhecimento durante chamadas.
O conhecimento deve ser clonado para permitir que o Sync Framework combine-o de um thread diferente. Para clonar logicamente um objeto de conhecimento, siga estas etapas antes de retornar um objeto de conhecimento para o Sync Framework:
Crie um novo objeto de conhecimento.
Defina a contagem em escala local como 1.
Combine o conhecimento existente com esse novo objeto usando ISyncKnowledge::Union.
Passe o conhecimento clonado para o Sync Framework.
Dica
Para aplicativos multithread, o Sync Framework requer que provedores sejam compatíveis com o apartamento no qual o objeto ISyncSession está sendo executado. Essa restrição também se aplica a todos os objetos passados para o Sync Framework, como versões, conhecimento etc.