public static async Task SaveAsync()
{
try
{
var sessionData = new MemoryStream();
var serializer = new DataContractJsonSerializer(typeof(Dictionary<string, object>), _knownTypes);
serializer.WriteObject(sessionData, _sessionState);
var 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();
}
}
catch (UnauthorizedAccessException)
{ }
catch (Exception e)
{
throw new SuspensionManagerException(e);
}
}