WinRT为什么我会收到UnauthorizedAccessException?

时间:2013-09-08 18:02:45

标签: c# asynchronous windows-store-apps

我看到UnauthorizedAccessException异常发生,特别是在打开文件而不处理它们时,但在我的情况下它是不同的。 我有一个非常简单的代码,因为我认为这段代码是正确的。 我正在显示一个消息对话框,它工作正常,但它可能会UnauthorizedAccessException,我会解释如何。 我的消息对话框位于搜索魅力方法中,该方法在bing地图中搜索地址,如果找不到地址,则会显示对话框。 所以这是代码(不需要整个代码,它不会影响):

MessageDialog msg = new MessageDialog("No results found.");
await msg.ShowAsync();

如果我调用一次,一切正常,但如果我做下一件事,我会收到UnauthorizedAccessException:

  1. 打开搜索符号。
  2. 搜索不存在的地址(例如:sadasdasdasd)。

  3. 现在,消息对话框将显示取消按钮。 现在我不按取消,我再次按下搜索(具有相同的值)。

  4. 现在我到达这一行时遇到异常:

    await msg.ShowAsync();
    
  5. System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

    我做错了吗?我怎么处理呢?

    我只是希望我的应用能够抵御崩溃。

1 个答案:

答案 0 :(得分:2)

致电时

await msg.ShowAsync();

您的应用正在等待,直到MessageBox关闭。 所以,我认为你只能同时打开一个MessageBox。

另见这篇文章: WinRT C# MessageDialog.ShowAsync - Unauthorized Access Exception -