HI 這是我的場景,我必須序列化一個對象到一個文件。面對序列化問題
我使用的BinaryFormatter將對象序列如,
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream1, object);
我書面方式GetObjectData使用()如下,
serinfo.AddValue("string1",objecta);
serinfo.AddValue("string2",objectb);
serinfo.AddValue("string3",objectc);
我序列化2所列出LIST1,list2中在對象B。 (每個列表也可能有100000個元素,意味着列表中的元素數目會影響流的大小),所以當我序列化對象時,我的流大小不應超過10MB,如果它超過我應該寫在另一個流。簡單地說,如果大小超過10MB,我應該有一個更流,每個流應在以下格式
stream1 --> objecta,(objectb)some n values in list,objectc
stream2 --> objecta,(objectb)values in list from n+1 to some m,objectc
..
streamn --> ........
每個流的大小應限制爲10MB ..
請給我提供了一些線索這樣做.. 在此先感謝.. (首先感謝閱讀這個大的.. .. P)
你的意思是「不能」? –
手動意味着什麼? – sandhya
我的意思是,我怎麼能不知道每個子對象的大小而傳播? – sandhya