FtpTask.SuspendExecution Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, что исполняемый объект должен быть приостановлен. Этот метод вызывается средой выполнения.
public:
virtual void SuspendExecution();
public void SuspendExecution ();
abstract member SuspendExecution : unit -> unit
override this.SuspendExecution : unit -> unit
Public Sub SuspendExecution ()
Реализации
Примеры
Следующий пример кода является примером переопределенного SuspendExecution метода для пользовательской задачи.
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)
Комментарии
Этот метод не используется в коде. Она вызывается средой выполнения при обнаружении точки останова.
Однако вам потребуется предоставить код для этого метода, который наследуется от IDTSSuspend класса, если написать многопотоковую пользовательскую задачу, которая предоставляет точки останова. Если ваша задача является однопоточной, то есть реализация в пользовательской Execute задаче не запускает новые потоки, вам не нужно реализовывать этот интерфейс. Дополнительные сведения о написании пользовательских задач см. в разделе "Разработка настраиваемой задачи".