問題雖小,卻讓我奇怪了好大一頓啊,估計還有不少兄弟會掉到同樣的坑裡,供借鑑。
第一個問題 ,二進位制反序列化時遇到“在分析完成之前就遇到流結尾。”問題。
再確定自己的程式碼沒有問題的情況下檢查一下你序列化的實體類是否直接或間接的實現了介面"INotifyPropertyChanged",這個介面會導致“在分析完成之前就遇到流結尾。”問題。所以,有可能根本就不是反序列化的程式碼有問題啊。
如果,要解決這個問題,一種方法是不是必須實現“INotifyPropertyChanged”的情況下去掉對該介面的繼承,一般被序列化儲存的實體不必實現該介面;
第二種方法,如果必須要實現該介面,可以在該介面的“PropertyChanged”事件上加一個[field: NonSerialized]特性標明事件不序列化。
[field: NonSerialized]
public event PropertyChangedEventHandler PropertyChanged;
第二個問題,關於在EntityFramework(EF)中,返回資料集並且返回輸出引數的方法。
當你百思不得其解,為何輸出引數的ObjectParameter物件的值不會改變時,請將獲取該引數值的語句移至遍歷資料集語句的後面,這個問題困擾了我好半天,最終才找到這個方法,我是在EF4.0中遇到的這個問題。
時間不早了 ,改日做兩個例項程式碼上來。