まず、申し訳ありませんが、これは他の場所で回答されている場合。私は周りを見回しましたが、このトピックで見つけたスレッドとページは、シリアライズをかなり新しくしているのでかなり混乱しました。 私はインターネット上で機能を送信できるようにしたいC#アプリケーションを作っています。 Googleですばやく検索したところ、シリアライズが始まりました。私は次の方法でシリアル化して逆シリアル化しようとしました:のC# - シリアライズとデシリアライズ方法
public static string ObjectToString(object obj)
{
using (MemoryStream ms = new MemoryStream())
{
new BinaryFormatter().Serialize(ms, obj);
return Convert.ToBase64String(ms.ToArray());
}
}
public static object StringToObject(string base64String)
{
byte[] bytes = Convert.FromBase64String(base64String);
using (MemoryStream ms = new MemoryStream(bytes, 0, bytes.Length))
{
ms.Write(bytes, 0, bytes.Length);
ms.Position = 0;
return new BinaryFormatter().Deserialize(ms);
}
}
しかし、文字列に変換しようとすると例外がスローされました。私はそれに[Serializable()]
を追加して、メソッドは単純に何もしませんでした。
いくつかのより多くのGoogleをした後、私はC#で使用すると、デフォルトの方法でこれを行うことができないことがわかりました。それでは、これを行うことは可能ですか?もしそうでなければ、TcpClientを介してメソッドを送信する実用的な方法はありますか? 申し訳ありませんが、これは愚かな質問です。事前に
おかげで、
- マタイ
分散コンピューティングの最初のルール:http://martinfowler.com/bliki/FirstLaw.html助けを –