2

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

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

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

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

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

  4. 现在我在到达这条线时遇到了一个异常:

    await msg.ShowAsync();
    

System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

难道我做错了什么?我该如何处理?

我只是希望我的应用程序能够抵抗崩溃。

4

1 回答 1

2

你打电话时

await msg.ShowAsync();

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

另请参阅这篇文章: WinRT C# MessageDialog.ShowAsync - 未经授权的访问异常 -

于 2013-09-08T18:21:27.037 回答