Aracılığıyla paylaş


WorkflowPersistenceService.LoadCompletedContextActivity Yöntem

Tanım

Türetilmiş bir sınıfta uygulandığında, belirtilen tamamlanan kapsamı belleğe geri yükler.

protected public:
 abstract System::Workflow::ComponentModel::Activity ^ LoadCompletedContextActivity(Guid scopeId, System::Workflow::ComponentModel::Activity ^ outerActivity);
protected internal abstract System.Workflow.ComponentModel.Activity LoadCompletedContextActivity (Guid scopeId, System.Workflow.ComponentModel.Activity outerActivity);
abstract member LoadCompletedContextActivity : Guid * System.Workflow.ComponentModel.Activity -> System.Workflow.ComponentModel.Activity
Protected Friend MustOverride Function LoadCompletedContextActivity (scopeId As Guid, outerActivity As Activity) As Activity

Parametreler

scopeId
Guid

Guid Tamamlanan kapsamın sayısı.

outerActivity
Activity

Activity Tamamlanan kapsamı kapsayan etkinliği temsil eden bir.

Döndürülenler

Activity

Activity Tamamlanan kapsamı temsil eden bir.

Örnekler

Aşağıdaki örnekte yönteminin bir uygulaması gösterilmektedir LoadCompletedContextActivity . Bu örnek, Özel Kalıcılık Hizmeti örneğinden, FilePersistenceService.cs dosyasından alınmalıdır. Daha fazla bilgi için bkz. Özel Kalıcılık Hizmeti Örneği.

// Load the completed activity state.
protected override Activity LoadCompletedContextActivity(Guid activityId, Activity outerActivity)
{
    Console.WriteLine("Loading completed activity context: {0}", activityId);
    byte[] workflowBytes = DeserializeFromFile(activityId);
    Activity deserializedActivities = WorkflowPersistenceService.RestoreFromDefaultSerializedForm(workflowBytes, outerActivity);
    return deserializedActivities;
}
' Load completed activity state.
Protected Overrides Function LoadCompletedContextActivity(ByVal scopeId As System.Guid, ByVal outerActivity As System.Workflow.ComponentModel.Activity) As System.Workflow.ComponentModel.Activity
    Console.WriteLine("Loading completed activity context: 0}", scopeId)
    Dim workflowBytes As Byte() = DeserializeFromFile(scopeId)
    Dim deserializedActivities As Activity = WorkflowPersistenceService.RestoreFromDefaultSerializedForm(workflowBytes, outerActivity)
    Return deserializedActivities
End Function

Açıklamalar

İş akışı çalışma zamanı altyapısı, telafi uygulamak için kullanır LoadCompletedContextActivity . Tamamlanan kapsamın özdeş bir kopyasını geri yüklemeniz gerekir. Bunu yapmak için, veri deposunda tamamlanmış kapsamın gösteriminden geçerli Stream bir değeri geri yüklemeniz gerekir. Ardından, kapsamın seri durumdan çıkarılabilmesi için bunu Stream aşırı yüklenmiş yöntemlerinden Load birine geçirmeniz gerekir.

Kalıcılık hizmetiniz tamamlanan kapsamı veri deposundan yükleyemiyorsa uygun bir iletiyle birlikte bir PersistenceException oluşturmalıdır.

Şunlara uygulanır