WorkflowApplication.Terminate Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bir iş akışı örneğini sonlandırır.
Aşırı Yüklemeler
Terminate(Exception) |
Belirtilen özel durumu kullanarak bir iş akışı örneğini sonlandırır. |
Terminate(String) |
Belirtilen hata iletisini kullanarak bir iş akışı örneğini sonlandırır. |
Terminate(Exception, TimeSpan) |
Belirtilen özel durumu ve zaman aşımı aralığını kullanarak bir iş akışı örneğini sonlandırır. |
Terminate(String, TimeSpan) |
Belirtilen hata iletisini ve zaman aşımı aralığını kullanarak bir iş akışı örneğini sonlandırır. |
Terminate(Exception)
Belirtilen özel durumu kullanarak bir iş akışı örneğini sonlandırır.
public:
void Terminate(Exception ^ reason);
public void Terminate (Exception reason);
member this.Terminate : Exception -> unit
Public Sub Terminate (reason As Exception)
Parametreler
- reason
- Exception
İş akışı örneğini sonlandırmanın nedeni.
Örnekler
Aşağıdaki örnek kullanarak WorkflowApplicationbir iş akışı barındırıyor. Örnek WorkflowApplication , belirtilen iş akışı tanımı kullanılarak oluşturulur, istenen iş akışı yaşam döngüsü olayları işlenir ve iş akışı çağrısıyla Runçağrılır. İş akışı başlatıldıktan Terminate sonra çağrılır. İş akışı sonlandırıldığında konsolda aşağıdaki çıkış görüntülenir.
Starting the workflow.
Workflow e6b33409-f010-49f1-82ce-56f8baabe5e5 Terminated.
Exception: System.ApplicationException
Terminating the workflow.
Workflow e6b33409-f010-49f1-82ce-56f8baabe5e5 unloaded.
Activity wf = new Sequence
{
Activities =
{
new WriteLine
{
Text = "Starting the workflow."
},
new Delay
{
Duration = TimeSpan.FromSeconds(5)
},
new WriteLine
{
Text = "Ending the workflow."
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Subscribe to any desired workflow lifecycle events.
wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
{
if (e.CompletionState == ActivityInstanceState.Faulted)
{
Console.WriteLine("Workflow {0} Terminated.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.TerminationException.GetType().FullName,
e.TerminationException.Message);
}
else if (e.CompletionState == ActivityInstanceState.Canceled)
{
Console.WriteLine("Workflow {0} Canceled.", e.InstanceId);
}
else
{
Console.WriteLine("Workflow {0} Completed.", e.InstanceId);
// Outputs can be retrieved from the Outputs dictionary,
// keyed by argument name.
// Console.WriteLine("The winner is {0}.", e.Outputs["Winner"]);
}
};
wfApp.Unloaded = delegate(WorkflowApplicationEventArgs e)
{
Console.WriteLine("Workflow {0} unloaded.", e.InstanceId);
};
// Run the workflow.
wfApp.Run();
Thread.Sleep(TimeSpan.FromSeconds(1));
wfApp.Terminate(new ApplicationException("Terminating the workflow."));
Açıklamalar
Bu yöntem iş akışı örneğinin sonlandırılmasına zamanlar. Sonlandırma tamamlandığında bildirim almak için tutamacını Completed kullanın.
Varsayılan olarak, Terminate işlemin 30 saniye içinde tamamlanması gerekir veya bir TimeoutException oluşturulur.
Şunlara uygulanır
Terminate(String)
Belirtilen hata iletisini kullanarak bir iş akışı örneğini sonlandırır.
public:
void Terminate(System::String ^ reason);
public void Terminate (string reason);
member this.Terminate : string -> unit
Public Sub Terminate (reason As String)
Parametreler
- reason
- String
İş akışı örneğini sonlandırmanın nedeni.
Örnekler
Aşağıdaki örnek kullanarak WorkflowApplicationbir iş akışı barındırıyor. Örnek WorkflowApplication , belirtilen iş akışı tanımı kullanılarak oluşturulur, istenen iş akışı yaşam döngüsü olayları işlenir ve iş akışı çağrısıyla Runçağrılır. İş akışı başlatıldıktan Terminate sonra çağrılır. İş akışı sonlandırıldığında konsolda aşağıdaki çıkış görüntülenir.
Starting the workflow.
Workflow f87c6f91-4fe4-40b9-b7cb-4f1bd071bf84 Terminated.
Exception: System.Activities.WorkflowApplicationTerminatedException
Terminating the workflow.
Workflow f87c6f91-4fe4-40b9-b7cb-4f1bd071bf84 unloaded.
Activity wf = new Sequence
{
Activities =
{
new WriteLine
{
Text = "Starting the workflow."
},
new Delay
{
Duration = TimeSpan.FromSeconds(5)
},
new WriteLine
{
Text = "Ending the workflow."
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Subscribe to any desired workflow lifecycle events.
wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
{
if (e.CompletionState == ActivityInstanceState.Faulted)
{
Console.WriteLine("Workflow {0} Terminated.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.TerminationException.GetType().FullName,
e.TerminationException.Message);
}
else if (e.CompletionState == ActivityInstanceState.Canceled)
{
Console.WriteLine("Workflow {0} Canceled.", e.InstanceId);
}
else
{
Console.WriteLine("Workflow {0} Completed.", e.InstanceId);
// Outputs can be retrieved from the Outputs dictionary,
// keyed by argument name.
// Console.WriteLine("The winner is {0}.", e.Outputs["Winner"]);
}
};
wfApp.Unloaded = delegate(WorkflowApplicationEventArgs e)
{
Console.WriteLine("Workflow {0} unloaded.", e.InstanceId);
};
// Run the workflow.
wfApp.Run();
Thread.Sleep(TimeSpan.FromSeconds(1));
wfApp.Terminate("Terminating the workflow.");
Açıklamalar
Bu yöntem iş akışı örneğinin sonlandırılmasına zamanlar. Sonlandırma tamamlandığında bildirim almak için tutamacını Completed kullanın.
Varsayılan olarak, Terminate işlemin 30 saniye içinde tamamlanması gerekir veya bir TimeoutException oluşturulur.
Şunlara uygulanır
Terminate(Exception, TimeSpan)
Belirtilen özel durumu ve zaman aşımı aralığını kullanarak bir iş akışı örneğini sonlandırır.
public:
void Terminate(Exception ^ reason, TimeSpan timeout);
public void Terminate (Exception reason, TimeSpan timeout);
member this.Terminate : Exception * TimeSpan -> unit
Public Sub Terminate (reason As Exception, timeout As TimeSpan)
Parametreler
- reason
- Exception
İş akışı örneğini sonlandırmanın nedeni.
- timeout
- TimeSpan
İşlem iptal edilmeden ve bir TimeoutException atmadan önce işlemin tamamlanması gereken aralıkTerminate(Exception, TimeSpan).
Örnekler
Aşağıdaki örnek kullanarak WorkflowApplicationbir iş akışı barındırıyor. Örnek WorkflowApplication , belirtilen iş akışı tanımı kullanılarak oluşturulur, istenen iş akışı yaşam döngüsü olayları işlenir ve iş akışı çağrısıyla Runçağrılır. İş akışı başlatıldıktan Terminate sonra çağrılır. İş akışı sonlandırıldığında konsolda aşağıdaki çıkış görüntülenir.
Starting the workflow.
Workflow de28efe5-9057-472b-8d95-899c249893c5 Terminated.
Exception: System.ApplicationException
Terminating the workflow.
Workflow de28efe5-9057-472b-8d95-899c249893c5 unloaded.
Activity wf = new Sequence
{
Activities =
{
new WriteLine
{
Text = "Starting the workflow."
},
new Delay
{
Duration = TimeSpan.FromSeconds(5)
},
new WriteLine
{
Text = "Ending the workflow."
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Subscribe to any desired workflow lifecycle events.
wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
{
if (e.CompletionState == ActivityInstanceState.Faulted)
{
Console.WriteLine("Workflow {0} Terminated.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.TerminationException.GetType().FullName,
e.TerminationException.Message);
}
else if (e.CompletionState == ActivityInstanceState.Canceled)
{
Console.WriteLine("Workflow {0} Canceled.", e.InstanceId);
}
else
{
Console.WriteLine("Workflow {0} Completed.", e.InstanceId);
// Outputs can be retrieved from the Outputs dictionary,
// keyed by argument name.
// Console.WriteLine("The winner is {0}.", e.Outputs["Winner"]);
}
};
wfApp.Unloaded = delegate(WorkflowApplicationEventArgs e)
{
Console.WriteLine("Workflow {0} unloaded.", e.InstanceId);
};
// Run the workflow.
wfApp.Run();
Thread.Sleep(TimeSpan.FromSeconds(1));
wfApp.Terminate(new ApplicationException("Terminating the workflow."),
TimeSpan.FromSeconds(15));
Açıklamalar
Bu yöntem iş akışının sonlandırılmasına zamanlar. Sonlandırma tamamlandığında bildirim almak için tutamacını Completed kullanın.
Şunlara uygulanır
Terminate(String, TimeSpan)
Belirtilen hata iletisini ve zaman aşımı aralığını kullanarak bir iş akışı örneğini sonlandırır.
public:
void Terminate(System::String ^ reason, TimeSpan timeout);
public void Terminate (string reason, TimeSpan timeout);
member this.Terminate : string * TimeSpan -> unit
Public Sub Terminate (reason As String, timeout As TimeSpan)
Parametreler
- reason
- String
İş akışı örneğini sonlandırmanın nedeni.
- timeout
- TimeSpan
İşlem iptal edilmeden ve bir TimeoutException atmadan önce işlemin tamamlanması gereken aralıkTerminate(String, TimeSpan).
Örnekler
Aşağıdaki örnek kullanarak WorkflowApplicationbir iş akışı barındırıyor. Örnek WorkflowApplication , belirtilen iş akışı tanımı kullanılarak oluşturulur, istenen iş akışı yaşam döngüsü olayları işlenir ve iş akışı çağrısıyla Runçağrılır. İş akışı başlatıldıktan Terminate sonra çağrılır. İş akışı sonlandırıldığında konsolda aşağıdaki çıkış görüntülenir.
Starting the workflow.
Workflow 2897d2ef-377e-4224-ae93-5c19b38f487c Terminated.
Exception: System.Activities.WorkflowApplicationTerminatedException
Terminating the workflow.
Workflow 2897d2ef-377e-4224-ae93-5c19b38f487c unloaded.
Activity wf = new Sequence
{
Activities =
{
new WriteLine
{
Text = "Starting the workflow."
},
new Delay
{
Duration = TimeSpan.FromSeconds(5)
},
new WriteLine
{
Text = "Ending the workflow."
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Subscribe to any desired workflow lifecycle events.
wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
{
if (e.CompletionState == ActivityInstanceState.Faulted)
{
Console.WriteLine("Workflow {0} Terminated.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.TerminationException.GetType().FullName,
e.TerminationException.Message);
}
else if (e.CompletionState == ActivityInstanceState.Canceled)
{
Console.WriteLine("Workflow {0} Canceled.", e.InstanceId);
}
else
{
Console.WriteLine("Workflow {0} Completed.", e.InstanceId);
// Outputs can be retrieved from the Outputs dictionary,
// keyed by argument name.
// Console.WriteLine("The winner is {0}.", e.Outputs["Winner"]);
}
};
wfApp.Unloaded = delegate(WorkflowApplicationEventArgs e)
{
Console.WriteLine("Workflow {0} unloaded.", e.InstanceId);
};
// Run the workflow.
wfApp.Run();
Thread.Sleep(TimeSpan.FromSeconds(1));
wfApp.Terminate("Terminating the workflow.", TimeSpan.FromSeconds(15));
Açıklamalar
Bu yöntem iş akışı örneğinin sonlandırılmasına zamanlar. Sonlandırma tamamlandığında bildirim almak için tutamacını Completed kullanın.