16得票4回答
为什么控制台应用程序没有捕获默认的同步上下文?

我正在尝试了解SynchronizationContext,因此我编写了这个简单的控制台应用程序:private static void Main() { var sc = new SynchronizationContext(); SynchronizationContext...

13得票1回答
ASP.Net与MVC与WebAPI的区别以及如何使用UseTaskFriendlySynchronizationContext

我有几个ASP.Net MVC和WebAPI项目。其中大部分都是最新版本(MVC 5 / WebAPI 2)。由于我正在实现全局过滤器(用于MVC)和委托处理程序(用于WebAPI)以统一整个系统的安全性,因此我一直在仔细检查我的安全假设。 在这种情况下,我发现了一些文章和帖子(请参见下文)...

13得票1回答
如何在WinForm线程上获取WinForm同步上下文或进行调度

我有一个WinForm应用程序,设置了一个Observable如下:Form form = new Form(); Label lb = new Label(); form.Controls.Add(lb); Observable.Interval(TimeSpan.FromSeconds(...

13得票1回答
在 Azure Functions 中等待异步调用时,是否需要/有益于使用 ConfigureAwait(false)?

通常建议在不需要上下文时等待异步调用时使用ConfigureAwait(false)。只是想知道在Azure Functions中使用ConfigureAwait(false)是否有任何好处。 Azure Function线程是否具有非空的SynchronizationContext,因此使...

12得票2回答
使用SynchronizationContext将事件发送回WinForms或WPF的UI界面

我正在使用SynchronizationContext从我的DLL将事件调度回UI线程,以处理许多多线程后台任务。 我知道单例模式不是最受欢迎的,但我现在正在使用它来存储在创建foo的父对象时UI的SynchronizationContext引用。public class Foo { ...

12得票2回答
.NET:如何在特定的线程上调用委托?(ISynchronizeInvoke、Dispatcher、AsyncOperation、SynchronizationContext等)

首先请注意,这个问题没有标记winforms或wpf或任何其他特定于GUI的东西。这是有意的,因为您很快就会看到。 其次,如果这个问题有点长,请原谅。我试图整合这里和那里散落的各种信息,以便提供有价值的信息。然而,我的问题就在"What I would like to know"下面。 ...

12得票2回答
调度程序和同步上下文类

有人能告诉我什么时候使用 Dispatcher,什么时候使用 SynchronizationContext 类吗? 最近我一直在使用 Dispatcher 来排队后台线程的任务,然后我发现了 SynchronizationContext。

11得票1回答
使用ConfigureAwait的continueOnCapturedContext参数和SynchronizationContext进行异步延续

我希望先放置代码,然后根据代码情况提出问题并进行解释: public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } privat...

11得票3回答
我该如何处理不想等待的异步任务?

我正在编写一款多人游戏服务器,并正在探索新的C#异步/等待特性如何帮助我。服务器的核心是一个循环,尽可能快地更新游戏中的所有角色:while (!shutdown) { foreach (var actor in actors) actor.Update(); ...

11得票2回答
为什么每个Dispatcher.BeginInvoke回调需要一个唯一的同步上下文?

我刚刚注意到,在.NET 4.5中,每个Dispatcher.BeginInvoke/InvokeAsync回调都在自己独特的同步上下文(一个DispatcherSynchronizationContext实例)上执行。 这种改变背后的原因是什么? 下面这个简单的WPF应用程序说明了这一点:...