Hi,
You can use block to close the stream as soon as we are done with it so the file is not blocked any more, try some
codes below:
private static async Task<T> Read<T>(string groupName, string templateNamet, string fileName)
{
try
{
var _folder = Windows.Storage.ApplicationData.Current.LocalFolder;
var _collisionOption = Windows.Storage.CreationCollisionOption.OpenIfExists;
var rootFolder = await _folder.CreateFolderAsync(_rootFolder, _collisionOption);
var groupFolder = await rootFolder.CreateFolderAsync(groupName, _collisionOption);
var templateFolder = await rootFolder.CreateFolderAsync(templateNamet, _collisionOption);
//var fileToRead = await templateFolder.OpenStreamForReadAsync(fileName);
MemoryStream stream=new MemoryStream();
XmlSerializer serializer = new XmlSerializer(typeof(T));
var readerSettings = new XmlReaderSettings();
System.Xml.XmlReader reader;
using(var fileToRead = await templateFolder.OpenStreamForReadAsync(fileName))
{
await fileToRead.CopyToAsync( stream);
reader= System.Xml.XmlReader.Create(stream, readerSettings);
}
return (T)serializer.Deserialize(reader);
}
catch (Exception ex)
{
throw ex;
}
}
Best Wishes!
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey. Thanks<br/> MSDN Community Support<br/> <br/> Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.
No comments:
Post a Comment