WorkflowInstanceUnhandledExceptionRecord.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Tracking / WorkflowInstanceUnhandledExceptionRecord.cs / 1305376 / WorkflowInstanceUnhandledExceptionRecord.cs

                            //------------------------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------

namespace System.Activities.Tracking 
{
    using System; 
    using System.Runtime.Serialization; 
    using System.Runtime;
    using System.Diagnostics; 
    using System.Globalization;

    [Fx.Tag.XamlVisible(false)]
    [DataContract] 
    public sealed class WorkflowInstanceUnhandledExceptionRecord : WorkflowInstanceRecord
    { 
 
        public WorkflowInstanceUnhandledExceptionRecord(Guid instanceId, string activityDefinitionId, ActivityInfo faultSource, Exception exception)
            : this(instanceId, 0, activityDefinitionId, faultSource, exception) 
        {
        }

        public WorkflowInstanceUnhandledExceptionRecord(Guid instanceId, long recordNumber, string activityDefinitionId, ActivityInfo faultSource, Exception exception) 
            : base(instanceId, recordNumber, activityDefinitionId, WorkflowInstanceStates.UnhandledException)
        { 
            if (string.IsNullOrEmpty(activityDefinitionId)) 
            {
                throw FxTrace.Exception.ArgumentNullOrEmpty("activityDefinitionId"); 
            }
            if (exception == null)
            {
                throw FxTrace.Exception.ArgumentNull("exception"); 
            }
            if (faultSource == null) 
            { 
                throw FxTrace.Exception.ArgumentNull("faultSource");
            } 
            this.FaultSource = faultSource;
            this.UnhandledException = exception;
            this.Level = TraceLevel.Error;
        } 

        WorkflowInstanceUnhandledExceptionRecord(WorkflowInstanceUnhandledExceptionRecord record) 
            : base(record) 
        {
            this.FaultSource = record.FaultSource; 
            this.UnhandledException = record.UnhandledException;
        }

        [DataMember] 
        public Exception UnhandledException
        { 
            get; 
            private set;
        } 

        [DataMember]
        public ActivityInfo FaultSource
        { 
            get;
            private set; 
        } 

        protected internal override TrackingRecord Clone() 
        {
            return new WorkflowInstanceUnhandledExceptionRecord(this);
        }
 
        public override string ToString()
        { 
            return string.Format(CultureInfo.CurrentCulture, 
                "WorkflowInstanceUnhandledExceptionRecord {{ InstanceId = {0}, RecordNumber = {1}, EventTime = {2}, ActivityDefinitionId = {3}, FaultSource {{ {4} }}, UnhandledException = {5} }} ",
                this.InstanceId, 
                this.RecordNumber,
                this.EventTime,
                this.ActivityDefinitionId,
                this.FaultSource.ToString(), 
                this.UnhandledException);
        } 
 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK