WCF/Silverlight アプリケーションで protobuf-net を使用して、大きなオブジェクト配列のシリアル化のパフォーマンスを向上させようとしています。サービス コードでクラス (Order= などを追加) をシリアライズ/デシリアライズできます。
しかし、ProtoBehavior を適用して、Silverlight から protobuf 対応のサービス メソッドを呼び出そうとすると、データ (またはエラー) の代わりに null が返されます。
これは次の理由によると思います。
- ProtoBehavior は、Silverlight で生成されたサービス コードでは失われます。
- ドメイン クラス (型) は再利用されたアセンブリには含まれず、クライアントで再生成され、Order= が失われます。
ただし、現時点では両方の点を変更することはできません。(かなり大きな) プロジェクトをリファクタリングせずに protobuf-net を使用して、ASP.NET/Silverlight アセンブリをドメイン クラスなどと共有する方法はありますか?
他に解決策がない場合は、Reference.cs を調整して不足している動作と Order= を (perl/regex スクリプトを介して) 適切なメンバーに追加する方が簡単だと思いますが、正確には何を調整する必要があり、それは機能しますか?