DtsContainer.SuspendExecution Methode
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.
Wird aufgerufen, wenn die ausführbare Datei suspendiert werden muss. Diese Methode wird von der Laufzeit-Engine aufgerufen.
public:
virtual void SuspendExecution();
public void SuspendExecution();
abstract member SuspendExecution : unit -> unit
override this.SuspendExecution : unit -> unit
Public Sub SuspendExecution ()
Implementiert
Beispiele
Das folgende Codebeispiel ist ein Beispiel für eine überschriebene SuspendExecution Methode für eine benutzerdefinierte Aufgabe.
public void SuspendExecution()
{
lock (this)
{
// If a suspend is required, do it.
if (m_suspendRequired != 0)
ChangeEvent(m_canExecute, false);
}
// The application cannot return from Suspend until the task
// is suspended.
// This can happen in one of two ways:
// 1) The m_suspended event occurs, indicating that the
// execute thread has suspended, or
// 2) the canExecute flag is set, indicating that a suspend is
// no longer required.
WaitHandle [] suspendOperationComplete = {m_suspended, m_canExecute};
WaitHandle.WaitAny(suspendOperationComplete);
}
Public Sub SuspendExecution()
lock (Me)
{
If m_suspendRequired <> 0 Then
ChangeEvent(m_canExecute, False)
End If
}
' The application cannot return from Suspend until the task
' is suspended. This can happen in one of two ways:
' 1) The m_suspended event occurs, indicating that the
' execute thread has suspended, or
' 2) the canExecute flag is set, indicating that a suspend is
' no longer required.
Dim suspendOperationComplete As WaitHandle() = {m_suspended, m_canExecute}
WaitHandle.WaitAny(suspendOperationComplete)
Hinweise
Diese Methode wird im Code nicht verwendet. Er wird nach der Laufzeit aufgerufen, wenn ein Breakpoint erreicht wurde.
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.