为什么我会遇到这么多非崩溃的“一个方法在意外时间被调用”异常?

时间:2014-10-19 01:17:35

标签: c# windows-store-apps async-await

当我的应用运行时,我会看到更多这些内容,这几乎不夸张:

Exception:Thrown: "A method was called at an unexpected time. (Exception from HRESULT: 0x8000000E)" 
(System.InvalidOperationException)
A System.InvalidOperationException was thrown: "A method was called at an unexpected time. (Exception 
from HRESULT: 0x8000000E)"
Time: 10/17/2014 9:18:21 PM
Thread:Worker Thread[7528]

......我可以在一块石头上搅拌。

在做了一些研究之后,我得出结论,"我必须有一些不使用await"

的异步代码

但到目前为止我唯一的异步代码是:

private async void ConvertUserSelectionsToMapMarkers()
{
    FileOpenPicker openPicker = new FileOpenPicker();
    openPicker.ViewMode = PickerViewMode.Thumbnail;
    openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
    openPicker.FileTypeFilter.Add(".jpg");
    openPicker.FileTypeFilter.Add(".jpeg");
    openPicker.FileTypeFilter.Add(".png");
    List<PhotraxExifData> exifDataList = new List<PhotraxExifData>();

    IReadOnlyList<StorageFile> files = await openPicker.PickMultipleFilesAsync();
    for (int i = 0; i < files.Count; i++)
    {
        using (var randomAccessStream = await files[i].OpenAsync(FileAccessMode.Read))
        {
            using (var stream = randomAccessStream.AsStream())
            {
                using (var exfrdr = new ExifReader(stream))
                . . .

我尝试在最后两个使用中添加等待,但在这些情况下它们不会被添加。

可能是sqlite-net代码吗?除了上面的代码之外,这是我项目中唯一具有asyncs的部分。

我应该担心它,因为它似乎没有造成问题吗?或者是等待发生的事故?

如何知道他应该放在哪里&#34;等待&#34;?

0 个答案:

没有答案