Class Watcher
Represents the base class from which all implementations of resource monitoring should derive.
public abstract class Watcher : Disposable, IWatcher, IDisposable
- Inheritance
-
Watcher
- Implements
- Derived
- Inherited Members
Constructors
Watcher(Action<WatcherOptions>)
Initializes a new instance of the Watcher class.
protected Watcher(Action<WatcherOptions> setup)
Parameters
setupAction<WatcherOptions>The WatcherOptions which needs to be configured.
Properties
DueTime
Gets or sets the TimeSpan representing the amount of time to delay before the Watcher starts signaling.
protected TimeSpan DueTime { get; }
Property Value
DueTimeOnChanged
Gets the amount of time to postpone a Changed event.
protected TimeSpan DueTimeOnChanged { get; }
Property Value
Period
Gets the time interval between periodic signaling.
protected TimeSpan Period { get; }
Property Value
UtcLastModified
Gets the time when the resource being monitored was last changed.
public DateTime UtcLastModified { get; }
Property Value
- DateTime
The time when the resource being monitored was last changed.
Remarks
This property is measured in Coordinated Universal Time (UTC) (also known as Greenwich Mean Time).
UtcLastSignaled
Gets the time when the last signaling occurred.
public DateTime UtcLastSignaled { get; }
Property Value
- DateTime
The time when the last signaling occurred.
Remarks
This property is measured in Coordinated Universal Time (UTC) (also known as Greenwich Mean Time).
Methods
ChangeSignaling(TimeSpan)
Changes the signaling timer of the Watcher.
public void ChangeSignaling(TimeSpan dueTime)
Parameters
dueTimeTimeSpanA TimeSpan representing the amount of time to delay before the Watcher starts signaling. Specify negative one (-1) milliseconds to prevent the signaling from starting. Specify zero (0) to start the signaling immediately.
ChangeSignaling(TimeSpan, TimeSpan)
Changes the signaling timer of the Watcher.
public virtual void ChangeSignaling(TimeSpan dueTime, TimeSpan period)
Parameters
dueTimeTimeSpanA TimeSpan representing the amount of time to delay before the Watcher starts signaling. Specify negative one (-1) milliseconds to prevent the signaling from starting. Specify zero (0) to start the signaling immediately.
periodTimeSpanThe time interval between periodic signaling. Specify negative one (-1) milliseconds to disable periodic signaling.
Remarks
If dueTime is zero (0), the signaling is started immediately. If dueTime is negative one (-1) milliseconds, the signaling is never started; and the underlying timer is disabled, but can be re-enabled by specifying a positive value for dueTime.
If period is zero (0) or negative one (-1) milliseconds, and dueTime is positive, the signaling is done once; the periodic behavior of the underlying timer is disabled, but can be re-enabled by specifying a value greater than zero for period.
HandleSignaling()
Handles the signaling of this Watcher.
protected virtual void HandleSignaling()
HandleSignalingAsync()
Handles the signaling of this Watcher.
protected abstract Task HandleSignalingAsync()
Returns
- Task
The task object representing the asynchronous operation.
OnChangedRaised()
Raises the Changed event.
protected void OnChangedRaised()
Remarks
This method raises the Changed event with UtcLastModified and DueTimeOnChanged passed to a new instance of WatcherEventArgs.
OnChangedRaised(WatcherEventArgs)
Raises the Changed event.
protected virtual void OnChangedRaised(WatcherEventArgs e)
Parameters
eWatcherEventArgsThe WatcherEventArgs instance containing the event data.
OnDisposeManagedResources()
Called when this object is being disposed by either Dispose() or Dispose(bool) having disposing set to true and Disposed is false.
protected override void OnDisposeManagedResources()
OnDisposeUnmanagedResources()
Called when this object is being disposed by either Dispose() or Dispose(bool) and Disposed is false.
protected override void OnDisposeUnmanagedResources()
SetUtcLastModified(DateTime)
Marks the time when a resource being monitored was last changed.
protected void SetUtcLastModified(DateTime utcLastModified)
Parameters
utcLastModifiedDateTimeThe time when a resource being monitored was last changed.
StartMonitoring()
Starts the timer that will monitor this Watcher implementation.
public void StartMonitoring()
Events
Changed
Occurs when a resource has changed.
public event EventHandler<WatcherEventArgs> Changed