Share via


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

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 unter Using Persistence Services Sample (Beispiel für Persistenzdienste).

//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 der Workflow instance erfolgreich beibehalten wird, löst die Runtime das WorkflowUnloaded Ereignis aus und gibt zurücktrue. Unloadgibt zurückfalse, wenn der Workflow instance bereits entladen, beendet, abgebrochen oder bereits abgeschlossen wurde.

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

Gilt für: