e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
100 lines
3.1 KiB
C#
100 lines
3.1 KiB
C#
using System;
|
|
using System.Workflow.Runtime.Hosting;
|
|
|
|
namespace System.Workflow.Runtime
|
|
{
|
|
/// <summary>
|
|
/// TimerEventSubscription
|
|
/// Class which represents a timer subscription which a running workflow
|
|
/// instance creates on timer service for Timer Notification.
|
|
/// </summary>
|
|
[Serializable]
|
|
[Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
|
|
public class TimerEventSubscription
|
|
{
|
|
#region Data
|
|
DateTime expiresAt;
|
|
Guid subscriptionId;
|
|
Guid workflowInstanceId;
|
|
IComparable queueName;
|
|
|
|
#endregion
|
|
/// <summary>
|
|
/// Specifies the absolute timeout value in UTC format, at which
|
|
/// workflow expects a notification from SchedulerService.
|
|
/// </summary>
|
|
public virtual DateTime ExpiresAt
|
|
{
|
|
get
|
|
{
|
|
return this.expiresAt;
|
|
}
|
|
}
|
|
|
|
//A Unique id for this subscription. It is needed because
|
|
//QueueName is not always guaranteed to be Unique.
|
|
//Needed in case of Multiple Subscription on Same Queue
|
|
public virtual Guid SubscriptionId
|
|
{
|
|
get
|
|
{
|
|
return this.subscriptionId;
|
|
}
|
|
}
|
|
|
|
public virtual IComparable QueueName
|
|
{
|
|
get
|
|
{
|
|
return this.queueName;
|
|
}
|
|
protected set
|
|
{
|
|
this.queueName = value;
|
|
}
|
|
}
|
|
|
|
public virtual Guid WorkflowInstanceId
|
|
{
|
|
get
|
|
{
|
|
return this.workflowInstanceId;
|
|
}
|
|
}
|
|
|
|
|
|
//Used only when providing specialized implementation.
|
|
protected TimerEventSubscription()
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates a TimerEventSubscription for workflow Instance identified by
|
|
/// workflowInstanceID.
|
|
/// </summary>
|
|
/// <param name="workflowInstanceId">WorkflowInstanceId for which this subscription is created.</param>
|
|
/// <param name="expiresAt"> Time at which timer event should fire.</param>
|
|
public TimerEventSubscription(Guid workflowInstanceId, DateTime expiresAt)
|
|
: this(Guid.NewGuid(), workflowInstanceId, expiresAt)
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Constructor to create TimerEventSubscription with user provided
|
|
/// value for timerid which will be SubscriptionId & QueueName of EventSubscription.
|
|
/// </summary>
|
|
/// <param name="timerId">SubscriptionId for this subscription, this will be same value as QueueName.</param>
|
|
/// <param name="workflowInstanceId">WorkflowInstanceId for which this subscription is created.</param>
|
|
/// <param name="expiresAt"> Time at which timer event should fire.</param>
|
|
public TimerEventSubscription(Guid timerId, Guid workflowInstanceId, DateTime expiresAt)
|
|
{
|
|
this.queueName = timerId;
|
|
this.workflowInstanceId = workflowInstanceId;
|
|
this.subscriptionId = timerId;
|
|
this.expiresAt = expiresAt;
|
|
}
|
|
}
|
|
}
|