如果这是一个骗局,我道歉。我找不到任何特别针对我的问题的事情。我试图使用“等待SaveAsync”保存文件。我收到此错误访问被拒绝。 (来自HRESULT的异常:0x80070005(E_ACCESSDENIED))我假设它是因为它试图在动作完成之前继续前进......但它不应该等待,因为我使用了“await”?
这是我的代码
try
{
if (CurrentFile == null || !_existingDocument)
{
await _generateDoc();
return;
}
var docGen = new CustDocument(_inputs);
docGen.Save(CurrentFile);
}
catch (Exception ex)
{
throw;
}
我的方法
private async Task<StorageFile> _generateDoc()
{
var docGen = new CustDocument(_inputs);
var savePicker = new FileSavePicker();
savePicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
savePicker.FileTypeChoices.Add("dptx File", new List<string>() {".dptx"});
savePicker.SuggestedFileName = _inputs.CustomerName.Replace(" ", "").Trim();
var file = await savePicker.PickSaveFileAsync(); // Error here
docGen.Save(file);
return file;
}
堆栈跟踪(不多)
at Windows.Storage.Pickers.FileSavePicker.PickSaveFileAsync()
at MdTool.ViewModel.RmViewModel。&lt; _generateDoc&gt; d__6.MoveNext()
答案 0 :(得分:0)
发现它! 这里 Using FileSavePicker with MessageDialog's IUICommand event
从来没有想过它与对话框有关。对所有回复的人......感谢您的帮助