問題タブ [binary-serialization]
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.
c# - シリアル化の問題: System.UnauthorizedAccessException
次のエラーが表示されます: mscorlib.dll で「System.UnauthorizedAccessException」タイプの未処理の例外が発生しました
追加情報: パス 'C:\Users\Storm Kiernan\Desktop(NEW)Archetype Development Kit\Laboratory\Laboratory\bin\x86\Debug\lol.dataf' へのアクセスが拒否されました。
このコードを介して任意のオブジェクトをシリアル化しようとすることから:
このプロジェクトは私のデスクトップにあります。私の Documents フォルダーの VS/Projects には、これとほぼ同じコードを持つ別のプロジェクトがあり、問題なく動作します。唯一の違いは、一般的ではないことです。何か案は?
c# - カスタムタイプとシリアル化のリストに関する問題
いずれかの製品のバージョン2.0のリリースに取り組んでおり、バージョン1.0のお客様のインストールベースとのファイル互換性を維持したいと考えています。私はアプリケーションのほとんどのタイプにISerializableを実装してきましたが、問題が発生したようです。
私はタイプを持っています、議論のためにそれをファミリーと呼びましょう
これはバージョン1.0として出荷されたものであり、2.0ではNameクラスをPersonに変更しました。これは事実上同じですが、コンストラクターがわずかに異なり、明らかに名前が異なります。
これは明らかに機能しません。タイプ"Name"はアセンブリに存在しないため、SerializationBinderを追加して修正しました。
これは主に機能します。オブジェクトを逆シリアル化すると、バインダーが呼び出され、正しい型が返されますが、Personの逆シリアル化コンストラクターが呼び出されることはありません。例外はスローされていません、誰かが何かアイデアがありますか?
c# - .NET フレームワークで XML シリアル化とバイナリ シリアル化を使用する必要があるのはいつですか?
私は混乱しています - XML シリアライゼーションをいつ使用し、いつ .NET フレームワークでバイナリ シリアライゼーションを使用する必要がありますか?
numbers - オーバーフロー ビットを含む数値のバイナリ ストレージ...形式はどのように呼ばれますか?
シリアライゼーション/プロトコル形式の場合、実装が簡単な省スペースの方法で符号なし64ビット整数までの符号なし数値をエンコードする必要があります(つまり、専用の圧縮アルゴリズムを探しているわけではありません)。私は次のことを考えていました:
これについて 2 つの質問があります。
この形式はどのように呼ばれますか? 実装はどこで調べることができますか?
これは、128 未満の小さな数値が頻繁に送信されるソケット経由で送信されるバイナリ プロトコル用です。余分な処理はそれだけの価値があると思いますか?
.net - .NET Binary 他のオブジェクトへの参照を含むオブジェクトをシリアル化します。. . 何が起こるのですか?
他のオブジェクト (インスタンス B と C など) を参照するオブジェクト インスタンス A があり、A をファイルにバイナリ シリアル化するとどうなりますか? A、B、C を含むシリアル化されたデータはありますか?
正確にはどのように機能しますか?データを逆シリアル化すると何が得られますか? A、B、C??
(内部の仕組みの説明も自由に含めてください)。
c# - BinaryFormatter.Deserialize "アセンブリが見つかりません" ILMerge 後
参照されたdllを使用したC#ソリューションがあります(同じ.NetバージョンのC#も)。ソリューションをビルドして結果のexeを実行すると、exeと参照されたdllをマージせずに、すべて正常に動作します。
これらを1つのexeにマージしたいと思います。ILMerge を実行すると、すべて正常に動作しているように見えます。私はexeを実行しようとしましたが、参照されたdllで定義されたオブジェクトを逆シリアル化しようとするまで、問題なく実行されているようです。
ここに欠けているILMergeオプションはありますか?
c# - .NET 4.0 で単純なシリアル化に引き続き BinaryFormatter を使用する必要がありますか?
マスタースレーブ スタイルのアプリケーションを開発しています。マスター アプリケーションは、状態データをスレーブに送信して、一定の速度で処理および表示します。状態データは、多くのフィールドを含む 1 つのクラスにラップされます。これらのフィールド タイプは、プリミティブ、クラス、インターフェイス、インターフェイスのリストなどで構成されます。すべての型は BCL またはカスタム型であるため、必要に応じてカスタム型を変更できます。マスター アプリケーションとスレーブ アプリケーションの両方が .NET 4.0 になります。マスター アプリケーションとスレーブ アプリケーションはペアで提供されるため、シリアライゼーションのバージョン管理には関心がありません。
マスターで状態データをシリアル化し、スレーブで逆シリアル化する「迅速な」方法が必要です。私が「速い」と言うとき、私は開発時間について話しているのです (しかし、解決策がひどかった場合は、処理時間が要因になる可能性があります)。ただし、マスターとスレーブは WAN 経由で分散されるため、ある程度のコンパクトさも必要です。
BinaryFormatter
簡単な解決策として、現在、単純にストリームを使用して圧縮することを考えていますGZipStream
。これは .NET 4.0 の進むべき道ですか?
asp.net - MSBuild展開に変更した後、ASP.NETカスタムプロファイルオブジェクトが失敗する
以前はWeb展開プロジェクトを介して展開されていたASP.NET2.0Webフォームアプリがあります。最近、TFS / MSBuildによってビルドされた新しいバージョンをデプロイしましたが、この変更により、カスタムプロファイルオブジェクトの逆シリアル化に問題が発生したようです。
これがweb.configのprofile/propertiesセクションのエントリです。
これは、ビルドプロセスの結果として変更されておらず、OurApp.UserDataも変更されていません。
ただし、アプリが特定のユーザーのデータを読み取ろうとしても、何も見つかりません。
明らかな違いの1つは、Web展開バージョンでは、Webサイト用に単一のOurApp.dllが作成されたのに対し、新しいバージョンは複数の「名前が壊れた」アセンブリで構成されていることです。これにより、プロファイルがOurApp.UserDataタイプに格納されているプロパティの読み取りを見逃す可能性がありますか?
.net - このシリアル化できないオブジェクトはどこにありますか?
オブジェクトをシリアル化しようとすると、次のSerializationExceptionがスローされます。
アセンブリ'System.Core、Version = 4.0.0.0、Culture=に'System.Linq.Enumerable + d__71`1 [[System.String、mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089]]'と入力します。ニュートラル、PublicKeyToken =b77a5c561934e089'はシリアル化可能としてマークされていません。
このオブジェクトは私のコードのどこにありますか?どうすればわかりますか?オブジェクトグラフはかなり大きいです。
c# - オブジェクトのバイナリシリアル化 (バイナリ) 中にオブジェクトのハッシュコードを保存する可能性はありますか?
オブジェクトをハッシュコードで比較できるようにしたい。
たとえば、1 つはオブジェクト自体であり、もう 1 つはシリアル化 (バイナリ) されてから復元されたバージョンのオブジェクトです。
シリアル化された (バイナリ) オブジェクトにハッシュを保存するにはどうすればよいですか?