WCF サービスで protobuf-net ライブラリを使用します。クライアントはJava-Androidで、私はその側でprotoファイルを扱っています。
.NET 側で手動でクラスをコーディングする必要がありますか、それとも protobuf-net が何らかの方法で .proto ファイルをサポートする必要がありますか?
WCF サービスで protobuf-net ライブラリを使用します。クライアントはJava-Androidで、私はその側でprotoファイルを扱っています。
.NET 側で手動でクラスをコーディングする必要がありますか、それとも protobuf-net が何らかの方法で .proto ファイルをサポートする必要がありますか?
相互運用から作業している場合は、.proto から開始するのが最適なオプションです。protobuf-net には、他のプラットフォーム用のコードを生成する方法と同様に、.proto から protobuf-net 互換クラスを作成できるコマンドライン ツール「protogen」と VS IDE アドインがあります。どちらも protobuf-net プロジェクト サイトで入手できます。すでにクラスがある場合は、protobuf-net クラスから .proto を生成するためのサポートもありますが、これは不完全です (実際、v2 に関しては、昨夜書いたばかりなので、まだ公式のダウンロードには含まれていません)。
クロスプラットフォームを使用している場合は、protobuf-csharp-port も検討することをお勧めします。これは、Jon による個別の並列実装であり、Java API と同様の API を保持しています。プラットフォーム間で同様の API を使用すると便利な場合があります。
Java と相互運用しているため、.NET クラスを作成するのではなく、.proto ファイルから C# クラスを生成する必要があります。
私は protobuf-net を使用したことはありませんが (Java protobuf は広範囲に使用しました) 、.proto ファイルから C# コードを自動的に生成するVisual Studio ツールがあると思われます。コマンド ライン ツールもあるようですが、常に利用できるとは限りません。