11得票2回答
.Net Core和同步上下文以及Thread.SetData

据我所知,AspNetCore 没有 SynchronizationContext。 引用: “重新进入”请求上下文涉及许多清理任务,例如设置HttpContext.Current和当前线程的标识和区域设置。 因此,我创建了一个简单的.Net Core Api项目,其中包含一个操作: ...

10得票2回答
在UI应用程序中何时调用SynchronizationContext.SetSynchronizationContext()?

我正在学习关于SynchronizationContext类的内容,试图理解在WinForm/WPF应用程序中调用SynchronizationContext.SetSynchronizationContext()的常见使用场景是什么。将线程的SynchronizationContext设置为...

10得票1回答
比较同步上下文的差异

如何比较同步上下文(SynchronizationContext)?在使用 BeginInvoke 时,似乎同一个 Dispatcher 可以创建不同的 SynchronizationContext。当我深入研究这两个(不相等的)上下文时,发现调度程序线程 ID 相同,但它们彼此不相等。 p...

10得票1回答
安全性、Thread.CurrentPrincipal 和 ConfigureAwait(false)

如果在使用ConfigureAwait(false)的引用库中使用Thread.CurrentPrincipal的声明是否会带来任何问题,或者ExecutionContext的逻辑调用上下文的流动是否会在那里照顾我?(我的阅读和测试迄今表明它会)。 示例WebAPI Controller操作...

10得票1回答
在Windows服务中使用ConfigureAwait(false)吗?

据我所知,在 Windows Service 应用程序中没有同步上下文。 await fooTask.ConfigureAwait(false) 在 Windows 服务中有任何好处吗? 这有什么陷阱吗?

9得票1回答
任何情况下使用Task.ContinueWith(..., TaskScheduler.FromCurrentSynchronizationContext())时不会在UI线程上运行吗?

我们发现了一些奇怪的事情,代码看起来像这样: var task = new Task(...); // run in the background, do something lengthy work task.ContinueWith(..., TaskScheduler.FromCurr...

8得票2回答
如何在WCF中使用同步上下文(SynchronizationContext)

我正在学习SynchronizationContext,并试图确保在尝试将OperationContext流到所有线程之后,即使在await调用之后也不会出现任何问题。 我有这个SynchronizationContext类: public class OperationContextSy...

8得票1回答
任务.Start,任务.RunSynchronously和同步上下文

我手动创建任务: var task = new Task(() => Debug.WriteLine("Task")); 然后手动启动它: task.Start(TaskScheduler.FromCurrentSynchronizationContext()); ...

8得票2回答
使用自定义的SynchronizationContext在使用async/await时序列化执行

我的团队正在使用C# 5.0的async/await开发一个多线程应用程序。在实现线程同步过程中,在多次迭代后,我们想出了一种(可能是新颖的?)新的SynchronizationContext实现,它具有一个内部锁,具体如下: 调用Post方法时: 如果可以获取锁,则立即执行委托 如果不...

7得票1回答
WPF + Tasks + WCF = 没有同步上下文?

我有一个使用System.Threading.Tasks来调用WCF服务的WPF应用程序。我使用Task.ContinueWith将服务调用的结果返回到WPF UI线程。我的问题是,尽管继续在UI线程上运行,但当它执行时,SynchronizationContext.Current为null。...