Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 异步文件保存等待不";等待“;_C#_Asynchronous_Async Await_Win Universal App - Fatal编程技术网

C# 异步文件保存等待不";等待“;

C# 异步文件保存等待不";等待“;,c#,asynchronous,async-await,win-universal-app,C#,Asynchronous,Async Await,Win Universal App,如果这是个骗局,我道歉。我找不到任何专门针对我的问题的东西。我正试图用“wait SaveAsync”保存一个文件。我得到这个错误,访问被拒绝。(来自HRESULT:0x80070005(E_ACCESSDENIED)的异常)我假设它是,因为它试图在操作完成之前继续。。。但它不应该因为我用了“等待”而等待吗 这是我的密码 try { if (CurrentFile == null || !_existingDocument) {

如果这是个骗局,我道歉。我找不到任何专门针对我的问题的东西。我正试图用“wait SaveAsync”保存一个文件。我得到这个错误,访问被拒绝。(来自HRESULT:0x80070005(E_ACCESSDENIED)的异常)我假设它是,因为它试图在操作完成之前继续。。。但它不应该因为我用了“等待”而等待吗

这是我的密码

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;
    }
在MdTool.ViewModel.RmViewModel.d_u6.MoveNext()中找到了它! 在这里


想不到这与对话框有关。对所有回应的人。。。感谢您的帮助

您不是在等待保存文件,而是在等待从外观上选择文件名。。。现在,为什么您认为问题在于
await
没有正常工作?错误实际上是在
PickSaveFileAsync
中还是在
Save
中?嗨,Jon,我假设是因为代码会立即在该点抛出错误。在web发现中,我看到了一个类似的问题,错误是由于异步代码在文件保存完成之前继续运行。所以答案是PickSaveFileAsync。我建议您不要假设任何事情。但是你应该在你的问题中发布完整的堆栈跟踪。这个好建议:)我永远不会完全假设任何事情。只是猜测一种预感。。。将堆栈跟踪添加到顶部。没有太多。好吧,假设异常在PickSaveFileAsync本身,就我所知,你永远不会等待它。。。
   at Windows.Storage.Pickers.FileSavePicker.PickSaveFileAsync()