Esempio n. 1
0
        public void Stop(int responseCode)
        {
            if (logger.IsDebugEnabled)
            {
                logger.Debug($"{this} Stop(rc='{responseCode}')");
            }

            lock (lockObject)
            {
                if (ThisTracer.IsStopped)
                {
                    // stop was already previously called
                    return;
                }

                EndSequenceNo = beacon.NextSequenceNumber;
                EndTime       = beacon.CurrentTimestamp;
            }

            ResponseCode = responseCode;

            // add web request to beacon
            beacon.AddWebRequest(parentActionId, this);

            // last but not least notify the parent & detach from parent
            parent.OnChildClosed(this);
        }
        private void DoStop(int responseCode, bool discardData)
        {
            lock (lockObject)
            {
                if (ThisTracer.IsStopped)
                {
                    // stop was already previously called
                    return;
                }

                EndSequenceNo = beacon.NextSequenceNumber;
                EndTime       = beacon.CurrentTimestamp;
            }

            ResponseCode = responseCode;

            // add web request to beacon
            if (!discardData)
            {
                beacon.AddWebRequest(parentActionId, this);
            }

            // last but not least notify the parent & detach from parent
            parent.OnChildClosed(this);
        }