オブジェクト グラフをサーバー プロセスからクライアントに移動しようとしています。そして、それは機能します。少なくとも、クライアントとサーバーの両方が開発仮想マシン上にある場合は機能します。ベースマシン(dev vmのクライアント)でサーバーを実行するときにも機能します。
ただし、メディア センター PC でサーバーを実行すると、動作しなくなります。例外は次のとおりです。
バイナリ ストリーム '0' には、有効な BinaryHeader が含まれていません。考えられる原因は、無効なストリームまたはシリアル化と逆シリアル化の間のオブジェクト バージョンの変更です。
3 台の PC はすべて x64 Windows 7 マシンです。クラスと一緒に TCPClient と TCPListener を使用して、面倒な作業を行ってBinaryFormatter
います。
転送されるデータは、標準FileStream
オブジェクトを使用してファイルから読み取られます。
クライアント側でバッファをファイルにシリアル化すると、(BeyondCompare によると) 内容が実際には異なるように見えますか?!?
オブジェクトのすべての文字列プロパティは、セッターで Base64 エンコードされ、ゲッターでデコードされます。
コードを投稿できますが、問題の領域がどこにあるのかわかりません。何か案は?