相关疑难解决方法(0)

从App.OnSuspending调用时,StorageFolder.CreateFileAsync崩溃

我的Win RT应用程序在Windows 8测试版上与VS2012RC一起使用,现在已经有了最终版本的visual studio和windows 8 pro的问题,在OnSuspending中创建/打开文件只有在我将调试器断点设置为文件创建方法.

private void OnSuspending(object sender, SuspendingEventArgs e){                        
     var deferral = e.SuspendingOperation.GetDeferral();                       
     if (null != m_document) Save();
     deferral.Complete();
}

async void Save(){
    var folder = KnownFolders.DocumentsLibrary;       
    var file = await folder.CreateFileAsync(GetFileName(),Windows.Storage.CreationCollisionOption.ReplaceExisting);                

    var xDoc = GetXDocument();
    using (var stream = await file.OpenStreamForWriteAsync()){
       xDoc.Save(stream);                    
    }           
}
Run Code Online (Sandbox Code Playgroud)
  • 如果我设置断点StorageFile file = await folder.CreateFileAsync(...,调试器进入,如果我继续,一切正常.

  • 但是,如果我没有设置断点,则会创建该文件,但不会保存xml的内容(文件为空).

  • 如果我在行下面设置一个断点StorageFile file = await folder.CreateFileAsync(...,调试器永远不会进入!

有人有想法吗?我还测试了一个使用的版本folder.OpenStreamForWriteAsync,具有相同的效果.

async-await windows-8 windows-store visual-studio-2012

5
推荐指数
1
解决办法
3826
查看次数