Asynchronous BookSleeve Redis客户端的缓存异步错误
性能非常好,因为它尽可能多地使用异步IO 但问题是,它可能会从异步操作中抛出致命的异常,并使我的应用程序崩溃 我知道关键字wait可以帮上忙,但我不能在每次通话中都使用waitAsynchronous BookSleeve Redis客户端的缓存异步错误,asynchronous,redis,booksleeve,Asynchronous,Redis,Booksleeve,性能非常好,因为它尽可能多地使用异步IO 但问题是,它可能会从异步操作中抛出致命的异常,并使我的应用程序崩溃 我知道关键字wait可以帮上忙,但我不能在每次通话中都使用wait 是否有方法全局捕获未处理的异常?您使用的库的版本是什么?BookSleeve在内部专门观察自己的异常,以便它们不会导致任何崩溃,但是,您也可以: 处理.Error事件 处理TaskScheduler.UnobservedTaskException事件 严格地说,这两项都不是必需的。这是后一种方法,可以防止应用程序关闭
是否有方法全局捕获未处理的异常?您使用的库的版本是什么?BookSleeve在内部专门观察自己的异常,以便它们不会导致任何崩溃,但是,您也可以:
- 处理
事件.Error
- 处理
事件TaskScheduler.UnobservedTaskException
但在更一般的层面上,检查任务发生了什么是一个很好的实践。如果您不想等待它们,那么订阅一个检查异常的
ContinueWith
可能仍然值得。此外,您不一定需要等待;在许多情况下,connection.Wait(result)
也很好-尽管这会占用主线程更长的时间(但请注意:它不会占用多路复用器)。您使用的库的版本是什么?BookSleeve在内部专门观察自己的异常,以便它们不会导致任何崩溃,但是,您也可以:
- 处理
事件.Error
- 处理
事件TaskScheduler.UnobservedTaskException
ContinueWith
可能仍然值得。此外,您不一定需要等待;在许多情况下,connection.Wait(result)
也很好-尽管这会占用主线程更长的时间(但注意:它不会占用多路复用器)