mirror of
https://github.com/meysamhadeli/booking-microservices.git
synced 2026-04-12 03:12:11 +08:00
25 lines
704 B
C#
25 lines
704 B
C#
namespace BuildingBlocks.Utils;
|
|
|
|
public static class NoSynchronizationContextScope
|
|
{
|
|
public static Disposable Enter()
|
|
{
|
|
var context = SynchronizationContext.Current;
|
|
SynchronizationContext.SetSynchronizationContext(null);
|
|
return new Disposable(context);
|
|
}
|
|
|
|
public struct Disposable : IDisposable
|
|
{
|
|
private readonly SynchronizationContext? synchronizationContext;
|
|
|
|
public Disposable(SynchronizationContext? synchronizationContext)
|
|
{
|
|
this.synchronizationContext = synchronizationContext;
|
|
}
|
|
|
|
public void Dispose() =>
|
|
SynchronizationContext.SetSynchronizationContext(synchronizationContext);
|
|
}
|
|
}
|