Dar*_*Zon 5 c# serialization microsoft-metro windows-runtime
我正在寻找二进制序列化器,因为在我的应用程序中,用户可以根据需要发现许多项目.想象一下,用户已发现超过100个项目(这些项目是从互联网上下载的),当应用程序暂停时,应用程序找不到最后一项,因为不存在.
在应用程序发生这是因为我总是加载前10个项目.但是在地铁原则中说,应用程序需要恢复所有内容..因此我在考虑使用二进制序列化程序来快速保存这些对象.但我找不到任何可以帮助我的课程.
编辑:
public abstract class BaseItem
{
...
public BaseGroup Group { get; set;}
}
public abstract class BaseGroup
{
public IEnumerable<BaseItem> Items { get; set; }
}
public sealed class FeedDataGroup
{
...
}
public sealed class FeedItem
{
...
}
Run Code Online (Sandbox Code Playgroud)
我计划序列化一个ObservableCollection.如果我使用JSON,那么构建我的类的方式会有任何问题吗?
Microsoft示例代码使用DataContractSerializer
// Serialize the session state synchronously to avoid asynchronous access to shared
// state
MemoryStream sessionData = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(Dictionary<string, object>), _knownTypes);
serializer.WriteObject(sessionData, _sessionState);
// Get an output stream for the SessionState file and write the state asynchronously
StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync(sessionStateFilename, CreationCollisionOption.ReplaceExisting);
using (Stream fileStream = await file.OpenStreamForWriteAsync())
{
sessionData.Seek(0, SeekOrigin.Begin);
await sessionData.CopyToAsync(fileStream);
await fileStream.FlushAsync();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3977 次 |
| 最近记录: |