public override void Dispose()
        {
            FirstCallApplication.Dispose();
            SecondCallApplication.Dispose();

            base.Dispose();
        }
        public override void ShutdownRemoteApplication()
        {
            FirstCallApplication.Shutdown();
            FirstCallApplication.CapturedOutput?.WriteProcessOutputToLog($"{nameof(FirstCallApplication)} application:");

            SecondCallApplication.Shutdown();
            SecondCallApplication.CapturedOutput?.WriteProcessOutputToLog($"{nameof(SecondCallApplication)} application:");

            base.ShutdownRemoteApplication();
        }
        public AspNetCoreDistTraceRequestChainFixture()
            : base(new RemoteService(ApplicationDirectoryName, ExecutableName, ApplicationType.Bounded, true, true, true))
        {
            Actions(setupConfiguration: () =>
            {
                var configModifier = new NewRelicConfigModifier(DestinationNewRelicConfigFilePath);
                configModifier.SetOrDeleteDistributedTraceEnabled(true);
                configModifier.SetOrDeleteSpanEventsEnabled(true);
                configModifier.SetLogLevel("all");

                //Do during setup so TestLogger is set.
                FirstCallApplication  = SetupDistributedTracingApplication();
                SecondCallApplication = SetupDistributedTracingApplication();

                FirstCallApplication.Start(string.Empty, captureStandardOutput: true);
                SecondCallApplication.Start(string.Empty, captureStandardOutput: true);
            });
        }