DtsContainer.SuspendRequired Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erhält oder setzt einen Boolean, der anzeigt, ob Aufgaben ausgesetzt werden sollten, wenn sie auf einen Breakpoint stoßen. Dieser Wert wird von der Laufzeit-Engine für Aufgaben und Container festgelegt, wenn ein Breakpoint erreicht wird.
public:
property bool SuspendRequired { bool get(); void set(bool value); };
public bool SuspendRequired { get; set; }
member this.SuspendRequired : bool with get, set
Public Property SuspendRequired As Boolean
Eigenschaftswert
Wahr, wenn die Aufgabe ausgesetzt wird, wenn sie auf einen Breakpoint trifft.
Implementiert
Beispiele
Das folgende Codebeispiel ist ein Beispiel für eine überschriebene SuspendRequired Eigenschaft für eine benutzerdefinierte Aufgabe.
public bool SuspendRequired
{
get
{
// m_suspendRequired is an Private integer declared in the custom task.
return m_suspendRequired != 0;
}
set
{
// This lock is also taken by Suspend(). Since it is possible for the package to be
// suspended and resumed in quick succession, this property "put" might happen
// before the actual Suspend() call. Without the lock, the Suspend() might reset
// the canExecute event after we set it to abort the suspension.
lock (this)
{
Interlocked.Exchange(ref m_suspendRequired, value ? 1 : 0);
if (!value)
ResumeExecution();
}
}
Public ReadOnly Property SuspendRequired() As Boolean
Get
' m_suspendRequired is an Private integer declared in the custom task.
Return m_suspendRequired <> 0
End Get
Public WriteOnly Property SuspendRequired() As Boolean
Set (ByVal Value As Boolean)
' This lock is also taken by Suspend(). Since it is possible for the package to be
' suspended and resumed in quick succession, this property "put" might happen
' before the actual Suspend() call. Without the lock, the Suspend() might reset
' the canExecute event after it is set to abort the suspension.
lock (Me)
{
Interlocked.Exchange(m_suspendRequired, value ? 1 : 0)
If Not value Then
ResumeExecution()
End If
}
End Set
End Property
Hinweise
Die Eigenschaft ist nicht im Code festgelegt. Sie wird durch die Laufzeit für Aufgaben und Container festgelegt, wenn ein Breakpoint erreicht wird.
Allerdings musst du für diese Methode Code bereitstellen, der von der Klasse IDTSSuspend übernommen wird, wenn du eine multithreaded, benutzerdefinierte Aufgabe schreibst, die Breakpoints offenlegt. Wenn deine Aufgabe singlethreaded ist, was bedeutet, dass deine Implementierung in Execute deiner benutzerdefinierten Aufgabe keine neuen Threads startet, musst du diese Schnittstelle nicht implementieren. Weitere Informationen zum Schreiben benutzerdefinierter Aufgaben finden Sie unter Entwicklung einer benutzerdefinierten Aufgabe.