Synchronization with .NET Compact Framework

I thought I would take a few minutes and get my thoughts down on synchronization on Pocket PC.

ActiveSync does not play nicely with .NET (so called ‘Managed Code’). You can write ActiveSync service in C++ and COM and compile it in a special way that lets it call a ‘Managed Code’ .dll, but it is not very natural, and we don’t necessarily want to learn C++ and COM anyway. There is a two part lesson on how to do it here and here.

It was surprising that there was this big barrier between ActiveSync and .NET. The only explanation I can see is that they want you to synchronize your data in a different way (at least as far as I can tell.) They want you to do things like database replication or syncing over the network. Database replication seems like a very bad way to go to me, as it requires us to host a SQL Server instance that can be accessed from outside our firewalls.

That leaves sync’ing over the network. We want to have that ability anyway, so why not just do it all the time. The problem is that for users that do only have a network connection when the Pocket PC is in the cradle, we cannot expect them to always have our application running when they cradle it. If it only syncs when cradled and running, then we have a problem.

I’m still looking into whether anyone has some best practices around this.

Post a comment or leave a trackback: Trackback URL.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: