你可以在Launch时,进行反序列化。在Suspend和Terminate时,进行序列化。
你可以自定义数据类型,用DataContract和DataMember属性声明要序列化的类和数据成员,然后调用DataContractSerializer Class 进行实际的序列化和反序列化。
样例代码如下
using System.Runtime.Serialization; // declare custom serializable type [DataContract(Name = "MyData", Namespace = "http://www.mysite.com")] class MyData { [DataMember()] public string FirstName; [DataMember] public string LastName; [DataMember()] public int ID; public MyData(string fname, string lname, int newID) { FirstName = fname; LastName = lname; ID = newID; } } // serialize sample code MyData myData = new MyData("a", "b", 1); StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("mydata,xml", CreationCollisionOption.ReplaceExisting); IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite); using (IOutputStream outStream = stream.GetOutputStreamAt(0)) { DataContractSerializer serializer = new DataContractSerializer(typeof(MyData)); serializer.WriteObject(outStream.AsStreamForWrite(), myData); await outStream.FlushAsync(); }