DtsContainer.SuspendExecution Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Metodo richiamato quando è necessario sospendere l'eseguibile. Questo metodo viene chiamato dal motore di runtime.
public:
virtual void SuspendExecution();
public void SuspendExecution ();
abstract member SuspendExecution : unit -> unit
override this.SuspendExecution : unit -> unit
Public Sub SuspendExecution ()
Implementazioni
Esempio
L'esempio di codice seguente è un esempio di metodo sottoposto SuspendExecution a override per un'attività personalizzata.
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)
Commenti
Questo metodo non viene usato nel codice. Viene chiamato dal runtime quando è stato rilevato un punto di interruzione.
Tuttavia, è necessario specificare il codice per questo metodo, ereditato dalla IDTSSuspend classe, se si scrive un'attività personalizzata a più thread che espone i punti di interruzione. Se l'attività è a thread singolo, il che significa che l'implementazione di Execute nell'attività personalizzata non avvia nuovi thread, non è necessario implementare questa interfaccia. Per altre informazioni sulla scrittura di attività personalizzate, vedere Sviluppo di un'attività personalizzata.