public override async Task Invoke(IIncomingPhysicalMessageContext context, Func <Task> next) { using (var session = new PipelineContextSession(context)) { BusSession.SetCurrentPipelineContext(session); await next(); } }
internal static void SetCurrentPipelineContext(PipelineContextSession session) { if (PipelineContext.Value != null) { throw new InvalidOperationException("Attempt to overwrite an existing pipeline context in BusSession.Current."); } PipelineContext.Value = session; }