【发布时间】:2018-11-19 18:12:10
【问题描述】:
我的设置是: 服务器:Asp.Net 和 SignalR-Server 应用:SignalR-Client
我的应用程序使用“调用”来调用我的服务器上的一个函数,该函数应该返回一个 MyObject-Object。但是响应没有到达我的客户端,并且应用程序“挂起”在 Invoke 所在的异步空间中。
一旦我结束应用程序的调试,整个 AVD-Process 被终止,在 Emulator 或 Visual Studio 中没有显示错误消息。
我认为这发生在“默默”抛出的异常中。
AVD 怎么会因为我的应用程序异常而被杀死?
【问题讨论】:
-
如果没有任何代码显示你在做什么,就不可能说出发生了什么。奇怪的是 AVD 被杀死(我假设这意味着 AD 关闭并且 AVD 窗口关闭?还是 AVD 只是变得无响应?)除了事件处理程序之外,还应避免使用“Async void”方法。如果“async void”方法(不是事件处理程序)中存在异常,它将被运行时吞噬。见:docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/…
-
@jgoldberger 模拟器进程不断被杀死,没有任何提示为什么会发生这种情况。我正在使用
OnResume这样的覆盖函数,这是设计为void... -
你是否在 OnResume 方法中添加了 async 关键字,例如
protected override async void OnResume()?如果是这样,那么您是否正在等待对异步方法的调用并将其包装在 try/catch 中以确保捕获异步方法中可能发生的任何异常? IOW,请出示您的代码。
标签: android xamarin visual-studio-2017 avd