WorkflowInstance.TryUnload Methode

Definition

Entlädt die Workflowinstanz aus dem Arbeitsspeicher in den Persistenzspeicher, wenn die Instanz unterbrochen wird oder sich im Leerlauf befindet.

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

Gibt zurück

Boolean

true, wenn die Workflowinstanz entladen wurde; andernfalls false.

Ausnahmen

Für die Workflowruntime-Engine ist kein Persistenzdienst registriert.

Beispiele

Das folgende Beispiel zeigt, wie Sie die TryUnload-Methode verwenden, um einen Workflow zu entladen, wenn das WorkflowIdled-Ereignis ausgelöst wird. Dieses Beispiel stammt aus dem Using Persistence Services SDK-Beispiel in der Datei Program.cs. Weitere Informationen finden Sie im Beispiel für die Verwendung von Peristenzdiensten.

//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

Hinweise

Wenn die Workflowinstanz sich im Leerlauf befindet oder unterbrochen wurde, verwendet TryUnload den Persistenzdienst, um die Workflowinstanz aus dem Arbeitsspeicher zu entfernen und in einem Datenspeicher beizubehalten. Wenn für WorkflowRuntime kein Persistenzdienst registriert ist, löst TryUnload eine InvalidOperationException aus. Wenn die Workflowinstanz erfolgreich beibehalten wird, löst die Laufzeit das WorkflowUnloaded Ereignis aus und gibt zurück true. Unload gibt zurück false , wenn die Workflowinstanz bereits entladen wurde, beendet wurde, abgebrochen wurde oder bereits abgeschlossen wurde.

Der Host kann TryUnload verwenden, um Systemressourcen eines im Leerlauf befindlichen Workflows freizugeben.

Gilt für: