Пример #1
0
        void OnInactivityElapsed(object state)
        {
            WsrmFault fault;
            Exception e;
            string    exceptionMessage = SR.GetString(SR.SequenceTerminatedInactivityTimeoutExceeded, this.settings.InactivityTimeout);

            if (TD.InactivityTimeoutIsEnabled())
            {
                TD.InactivityTimeout(exceptionMessage);
            }

            if (this.SequenceID != null)
            {
                string faultReason = SR.GetString(SR.SequenceTerminatedInactivityTimeoutExceeded, this.settings.InactivityTimeout);
                fault = SequenceTerminatedFault.CreateCommunicationFault(this.SequenceID, faultReason, exceptionMessage);
                e     = fault.CreateException();
            }
            else
            {
                fault = null;
                e     = new CommunicationException(exceptionMessage);
            }

            OnLocalFault(e, fault, null);
        }