オブジェクトグラフを文字列にシリアル化してから、文字列から逆シリアル化しようとしています。これを行うと、オブジェクトは問題なくシリアル化されます
using (var memStream = new System.IO.MemoryStream())
{
mf.Serialize(memStream, this);
memStream.Seek(0, 0);
Search s;
using (var memStrClone = new System.IO.MemoryStream())
{
memStream.CopyTo(memStrClone);
memStrClone.Seek(0, 0);
s = mf.Deserialize(memStrClone) as Search;
}
}
上記のコードは機能しますが、文字列にシリアル化し、このように同じ文字列を逆シリアル化しようとします
Search s;
string xml = ToString<Search>(this);
s = FromString<Search>(xml);
public static TType FromString<TType>(string input)
{
var byteArray = Encoding.ASCII.GetBytes(input);
using (var stream = new MemoryStream(byteArray))
{
var bf = new BinaryFormatter();
return (TType)bf.Deserialize(stream);
}
}
public static string ToString<TType>(TType data)
{
using (var ms = new MemoryStream())
{
var bf = new BinaryFormatter();
bf.Serialize(ms, data);
return Encoding.ASCII.GetString(ms.GetBuffer());
}
}
例外をスローします
オブジェクトタイプ「1936026741Core.Sebring.BusinessObjects.Search.Search」のアセンブリIDがありません。
どんな助けでも大歓迎です。ありがとう。