객체 그래프를 문자열로 직렬화 한 다음 문자열에서 직렬화하려고합니다. 나는 예외이BinaryFormatter를 사용하여 객체 그래프 직렬화 및 비 직렬화
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());
}
}
같은 같은 문자열을 역 직렬화하려고 작품을 던졌습니다 할 경우 목적은 잘 직렬화
오브젝트 유형 '1936026741 Core.Sebring.BusinessObjects.Search.Search'에 대한 어셈블리 ID가 없습니다.
모든 도움을 주시면 감사하겠습니다. 감사.
+1 (ASCII 문자열 형식의 바이너리 데이터를 표현하기 위해). –
문자열을 serialize하여 데이터베이스에 저장할 수 있습니다. 더 나은 방법이 있다면 제안에 대한 열어보십시오. – andrewramka
검색 클래스를 포함하도록 원래 질문을 업데이트 할 수 있습니까? 당신이 무엇을 직렬화하려고하는지 모를 때 조언하기가 어렵습니다. – Jay