Silverlight uses a different runtime that the rest of .NET. Therefore, Silverlight communicating with WCF is cross-platform. Silverlight applications can not reference .NET assemblies they can only reference other Silverlight assemblies.
Therefore, using the DataContractSerializer or serializing a UnitOfWork to a byte[] then to a string and deserializing on the other side won't work.
How do other people use UnitOfWork2 with cross-platform serialization?