問題タブ [protobuf-net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3405 参照

c# - Protobuf-netを使用したオブジェクトのリストのシリアル化

私はファイルに対してバイナリシリアル化を行うことを検討してきましたが、protobuf-netは優れた代替手段のようです。しかし、私は少し立ち往生しています。クラスの定義を実際のシリアル化から切り離したいので、属性は使用していませんが、.protoファイルを使用することを選択しているので、オブジェクトの構造を取得しました(私は思います)

(日時は有効ですか、それともint64としてティックを使用する必要がありますか?)

しかし、protogenを使用してから、IEnumerable of Postをファイルにシリアル化して、それを読み戻す方法に固執しています。どんな助けでもいただければ幸いです

別の関連する質問は、シリアル化中にコンピューターがシャットダウンされた場合など、破損したバイナリファイルを検出するためのベストプラクティスはありますか?

0 投票する
1 に答える
1022 参照

c# - C++ と通信する protobuf-net

私は、さまざまなメッセージング形式を実装するために protobuf-net を検討しています。プロト コンパイラをいじる必要がないため、コントラクト ベースのアプローチが特に気に入っています。私が情報を見つけることができなかったのは、これによりクロスプラットフォームでの作業が難しくなるのでしょうか? PB データを解析できる必要がある C++ アプリがいくつかあります。protobuf-net が PB 標準形式にシリアル化されることは理解していますが、プロト ファイルではなくコントラクト アプローチを使用すると、C++ 側はどのように解析するのでしょうか。データ?

C++ がデータを理解する必要がある (非常に少数の) ケースのために、別の proto ファイルを作成できますか (すべきですか?) もしそうなら、proto ファイルから生成された C++ クラスが no-proto ファイルの C# 側からのデータと一致することをどのように正確に知ることができますか?

0 投票する
8 に答える
65679 参照

c# - Protobuf-netを使用して、突然、不明なワイヤタイプに関する例外が発生しました

(これは、RSSで見た質問の再投稿ですが、OPによって削除されました。この質問がさまざまな場所で何度か尋ねられたのを見たので、再度追加しました。形")

突然、ProtoException逆シリアル化するとが表示され、メッセージは次のようになります。不明なワイヤタイプ6

  • ワイヤータイプとは?
  • さまざまなワイヤタイプの値とその説明は何ですか?
  • フィールドが問題を引き起こしていると思われますが、これをデバッグするにはどうすればよいですか?
0 投票する
1 に答える
1463 参照

c# - ISerializable メカニズムで ProtoBuf-Net を使用することは可能ですか?

ISerializable を実装し、BinaryFormatter を使用してシリアル化を使用するプロジェクトがあります。BinaryFormatter クラスを持たない .net コンパクトに移行しています。ProtoBuf-Net を使用できるかどうか疑問に思っていました。シリアル化に GetObjectData() を使用するように ProtoBuf-Net に指示できますか? 具体的には、Serializer.Serialize(SerializableInfo, ISerializable) 関数の使い方を知りたいです。

追加されたソースコードを見たところ、関数

Serializer.Serialize(SerializableInfo, T t) where T is ISerializable は、制約 T is ISerializable をまったく使用しません。T が ISerializable であると宣言されたのはなぜですか?

0 投票する
1 に答える
4270 参照

c# - protobuf-net 拡張機能の使用方法

.proto ファイルを作成し、ProtoBufTool が .cs ファイルを正常に作成しました。私は csharp が初めてで、拡張フィールドを設定しようとしています。しかし、それを行う方法がわかりませんか?protobuf-net を使用して拡張機能を使用する方法の例はありますか?

私の .proto ファイル:

作成したクラスは次のとおりです。

0 投票する
1 に答える
787 参照

serialization - メッセージでグループ タグの不一致が検出されました - protobuf-net

私はSilverlightを初めて使用します。私は、主にシリアライゼーションとデシリアライゼーションに依存するプロジェクトに取り組んでいます。

以前は、WPF の場合、シリアライズ可能なクラスに慣れていました。Silverlight の場合、protobuf が非常に役立つことがわかりました。しかし、私はこの例外に悩まされています。この問題の原因はわかりません。私を助けてください。

Silverlight 3.0 を使用しています。protobuf ネット r282

私が使用しているコードを見つけてください。

逆シリアル化に使用しているコードは

私のサンプル XML は次のようになります

前もって感謝します。
ヴィノード

0 投票する
1 に答える
846 参照

c# - protobuf-net[de]アセンブリの境界を越えたシリアル化

あるアセンブリに基本クラスがあり、別のアセンブリに基本クラスから継承する多数の生成されたクラスがあります。サブクラスが基本クラスのアセンブリにないため、subclassType(SerializerT.csの248行目)を解決しようとすると、protobuf-net(r282)を使用して基本タイプのリストをシリアル化できません。クラスを一緒に移動することは好ましいオプションではなく、リストを渡すことができることがかなり重要です。

これが私のタグ付けされた基本クラスです。含まれているタイプには、必要に応じてマークが付けられてProtoMember(x)います。

補足として、これは、デスクトップアプリとSOAPWebサービス間でデータを移動するためにBinaryFormatterを置き換えるためにprotobuf-netを使用することを評価することの一部です。

このようなことはできますか?もっと良い方法はありますか?明らかな何かが欠けているだけですか?別の長期的な質問は、3.5への最終的な移行に備えるために少し異なることをする必要があるかどうかです。

0 投票する
2 に答える
1691 参照

wcf - .NET コンパクト フレームワークでの WCF ホスティング

WinCE デバイスでサービスをホストしたいと考えています。WinCE デバイスは、シリアル ポート、TCP、USB などを介して複数のクライアント (PC または WinCE) からアクセスできるホストです (制御とデータ取得)。WCF またはリモーティングを使用するのが理想的ですが、私が見る限り、それらは Compact Framework に実装されていません。これを達成する方法は誰にでもあります。

0 投票する
1 に答える
1610 参照

c# - プロトコル バッファ c# (protobuf-net) Message::ByteSize

Message::ByteSizeシリアル化されたメッセージの長さをバイト単位で調べるために、C++ API に相当する protobuf-netを探しています。

0 投票する
1 に答える
2476 参照

.net - Protobuf-net - .NET GUID のシリアル化 - C++ でこれを読み取る方法は?

.NET アプリケーションで Protobuf-net を使用して比較的簡単にオブジェクトをシリアル化しました。GetProto() コマンドを使用して、protobuf-net が生成した .proto ファイルも取得します。

.NET で生成された .proto ファイルで、GUID フィールドは「bcl.guid」のタイプを取得します。

ここで、.proto ファイルを C++ でコンパイルして、データを逆シリアル化できるようにします。

ただし、C++ protoc.exe コンパイラは bcl.guid の解釈方法を認識せず、「VideoAudioStructs.proto:11:13: "Guid" is not defined.」というエラー メッセージをスローします。これをどうすればいいですか?