IDTSSuspend.SuspendExecution Metodo

Definizione

Indica la necessità di sospendere l'eseguibile. Questo metodo viene chiamato dal motore di runtime.

public:
 void SuspendExecution();
public void SuspendExecution ();
abstract member SuspendExecution : unit -> unit
Public Sub SuspendExecution ()

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 viene rilevato un punto di interruzione.

Tuttavia, sarà necessario fornire il codice per questo metodo, che viene ereditato dalla IDTSSuspend classe , se si scrive un'attività personalizzata multithread che espone 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.

Si applica a