WorkflowInstance.TryUnload Yöntem

Tanım

Örnek askıya alındığında veya boşta kaldığında iş akışı örneğini bellekten kalıcılık deposuna kaldırır.

public:
 bool TryUnload();
public bool TryUnload ();
member this.TryUnload : unit -> bool
Public Function TryUnload () As Boolean

Döndürülenler

true iş akışı örneği kaldırılmışsa; aksi takdirde , false.

Özel durumlar

İş akışı çalışma zamanı altyapısına kaydedilmiş kalıcılık hizmeti yok.

Örnekler

Aşağıdaki örnekte, olay tetiklendiğinde bir iş akışını kaldırmak için TryUnload yönteminin WorkflowIdled kullanılması gösterilmektedir. Bu örnek, Program.cs dosyasındaki Kalıcılık Hizmetleri SDK'sını Kullanma örneğinden alınmalıdır. Daha fazla bilgi için bkz . Persistence Services Örneğini Kullanma.

//Called when the workflow is idle - in this sample this occurs when the workflow is waiting on the
// delay1 activity to expire
static void OnWorkflowIdled(object sender, WorkflowEventArgs e)
{
    Console.WriteLine("Workflow is idle.");
    e.WorkflowInstance.TryUnload();
}
'Called when the workflow is idle - in me sample me occurs when the workflow is waiting on the
' delay1 activity to expire
Shared Sub OnWorkflowIdled(ByVal sender As Object, ByVal e As WorkflowEventArgs)
    Console.WriteLine("Workflow is idle.")
    e.WorkflowInstance.TryUnload()
End Sub

Açıklamalar

İş akışı örneği boştaysa veya askıya alınmışsa, TryUnload iş akışı örneğini bellekten kaldırmak ve bir veri deposunda kalıcı hale getirmek için kalıcılık hizmetini kullanır. ile WorkflowRuntimekaydedilmiş bir kalıcılık hizmeti yoksa, TryUnload bir InvalidOperationExceptionoluşturur. İş akışı örneği başarıyla kalıcı hale gelirse, çalışma zamanı olayı tetikler WorkflowUnloaded ve döndürür true. Unload iş akışı örneği zaten kaldırılmışsa, sonlandırıldıysa, durdurulduysa veya zaten tamamlandıysa döndürür false .

Konak, boşta olan bir iş akışından sistem kaynaklarını geri kazanmak için kullanabilir TryUnload .

Şunlara uygulanır