public void OnSuccess(MethodExecutionArgs eventArgs) { if (IsNoopConversationalMarkerActive) { return; } if (eventArgs.MethodExecutionTag == NestedMethodMarker) { return; } IConversationsContainerAccessor cca = ConversationsContainerAccessor; IConversation c = cca.Container.Get(GetConversationId()); EndMode endMode = GetMethodEndMode(eventArgs.Method); switch (endMode) { case EndMode.End: c.End(); c.Dispose(); break; case EndMode.Abort: c.Abort(); c.Dispose(); break; case EndMode.CommitAndContinue: c.FlushAndPause(); break; default: c.Pause(); break; } }