|
//-----------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Activities
{
using System;
using System.Runtime;
using System.Runtime.Serialization;
using System.Security;
using System.Security.Permissions;
[Serializable]
public class WorkflowApplicationException : Exception
{
const string InstanceIdName = "instanceId";
Guid instanceId;
public WorkflowApplicationException()
: base(SR.DefaultWorkflowApplicationExceptionMessage)
{
}
public WorkflowApplicationException(string message)
: base(message)
{
}
public WorkflowApplicationException(string message, Guid instanceId)
: base(message)
{
this.instanceId = instanceId;
}
public WorkflowApplicationException(string message, Exception innerException)
: base(message, innerException)
{
}
public WorkflowApplicationException(string message, Guid instanceId, Exception innerException)
: base(message, innerException)
{
this.instanceId = instanceId;
}
protected WorkflowApplicationException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
this.instanceId = (Guid)info.GetValue(InstanceIdName, typeof(Guid));
}
public Guid InstanceId
{
get
{
return this.instanceId;
}
}
[Fx.Tag.SecurityNote(Critical = "Critical because we are overriding a critical method in the base class.")]
[SecurityCritical]
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
info.AddValue(InstanceIdName, this.instanceId);
}
}
}
|