- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我注意到在 .NET 4.5 中 WPF Dispatcher已经获得了一组新方法来在名为 InvokeAsync 的 Dispatcher 线程上执行内容.之前,.NET 4.5 我们有 Invoke和 BeginInvoke分别以同步和异步方式处理。
除了命名和可用的重载略有不同之外,BeginInvoke
和 InvokeAsync
方法之间是否存在任何重大差异?
哦,我已经检查过了,两者都可以await
ed:
private async Task RunStuffOnUiThread(Action action)
{
// both of these works fine
await dispatcher.BeginInvoke(action);
await dispatcher.InvokeAsync(action);
}
最佳答案
异常处理不同。
您可能需要检查以下内容:
private async void OnClick(object sender, RoutedEventArgs e)
{
Dispatcher.UnhandledException += OnUnhandledException;
try
{
await Dispatcher.BeginInvoke((Action)(Throw));
}
catch
{
// The exception is not handled here but in the unhandled exception handler.
MessageBox.Show("Catched BeginInvoke.");
}
try
{
await Dispatcher.InvokeAsync((Action)Throw);
}
catch
{
MessageBox.Show("Catched InvokeAsync.");
}
}
private void OnUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
MessageBox.Show("Catched UnhandledException");
}
private void Throw()
{
throw new Exception();
}
关于c# - WPF Dispatcher 的 InvokeAsync 和 BeginInvoke 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13412670/
这个问题在这里已经有了答案: Async/await with/without awaiting (fire and forget) (2 个回答) 9 个月前关闭。 编辑:为了澄清起见,这是在 Bl
请我有错误,这是我的代码。 private void ComboBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
我有不同的场景,而不是 this question ,因此另一个问题。 让我们举个例子: void PerformanceCriticalMethod() { Dispatcher.Invok
我想知道将数组传递给 IJSRuntime.InvokeAsync 的最佳方法是什么? . 我偶然发现的问题是 blazor 会将数组的每个元素作为参数传递给 javascript 函数,因为 Inv
在以下方法中,我收到了警告:此异步方法缺少“await”运算符,将同步运行。在此方法中,我可以在哪里使用 await? 注意:此方法返回一个简单的静态 View ,无需与数据库等交互。 public
我有一个解决方案,其中既有 ASP.NET Core 3.1 Web 应用程序项目又有 Razor 客户端库 (RCL) 项目。我正在尝试编写一个 View 组件,该组件将随 Razor 客户端库一起
什么是调用方法? 下面是我的 viewcomponent() 方法。 public IViewComponentResult Invoke() { ViewBag.SelectedCategory
我正在尝试从另一个 Java Lambda 函数中异步调用一个 Java Lambda 函数。我只是想一劳永逸,但是使用 .invokeAsync(InvokeRequest),我必须在 Future
我知道调用StateHasChanged()方法通知组件状态已更改,因此它应该重新渲染。 但是,我也看到了对 await InvokeAsync(StateHasChanged) 的调用。或 awai
如果您有异步方法,如下所示: private async Task DoAsync() { Console.WriteLine(@"(1.1)"); T
我可以访问我的 IHubContext通过构造函数中的 DI 在我的 .NET Core WebAPI Controller 中很好,但我也想在其他地方访问它。 具体来说,当我使用来自 RabbitM
在我的 blazor 服务器端应用程序中,我调用 JSRuntime.InvokeAsync 以在弹出窗口中打开静态内容: await _jsRuntime.InvokeAsync("open", "
我正在尝试解决 SL 性能问题。到目前为止,我有由 InvokeAsync 执行的 WCF 调用。现在,我将其更改为使用 BackgroundWorker。性能大大提高。 什么会导致这种情况? Inv
我已成功将 SignalR.AspNetCore 集成到我的 AbpZero 模板中。一切正常。但是,当我尝试将集线器添加到我的应用程序中时,就像 document 中所述。 ,我在 上收到以下错误
我注意到在 .NET 4.5 中 WPF Dispatcher已经获得了一组新方法来在名为 InvokeAsync 的 Dispatcher 线程上执行内容.之前,.NET 4.5 我们有 Invok
我正在使用 Dotnet Core Blazor 并在删除事件后使用 EventCallBack 绑定(bind)父网格时遇到错误。下面是使用子组件的代码 @foreach (var e
我正在阅读.Net Core 中关于 DI 的 MS 文档。 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-
我的应用程序中使用了以下通过 SignalR 连接进行通信的 DTO/POCO 类: class Base { public string Value { get; set; } } cla
我是一名优秀的程序员,十分优秀!