Edit

Share via


NativeActivity.CacheMetadata Method

Definition

Creates and validates a description of the activity's arguments, variables, child activities, and activity delegates.

Overloads

CacheMetadata(ActivityMetadata)

Not implemented. Use the CacheMetadata(NativeActivityMetadata) method instead.

CacheMetadata(NativeActivityMetadata)

Creates and validates a description of the activity's arguments, variables, child activities, and activity delegates.

Remarks

Custom activity authors can provide validation logic in an activity's CacheMetadata override. Any exceptions that are thrown from CacheMetadata are not treated as validation errors. These exceptions will escape from the call to Validate and must be handled by the caller.

CacheMetadata(ActivityMetadata)

Not implemented. Use the CacheMetadata(NativeActivityMetadata) method instead.

protected:
 override void CacheMetadata(System::Activities::ActivityMetadata metadata);
protected override sealed void CacheMetadata (System.Activities.ActivityMetadata metadata);
override this.CacheMetadata : System.Activities.ActivityMetadata -> unit
Protected Overrides NotOverridable Sub CacheMetadata (metadata As ActivityMetadata)

Parameters

metadata
ActivityMetadata

Not implemented.

Remarks

Custom activity authors can provide validation logic in an activity's CacheMetadata override. Any exceptions that are thrown from CacheMetadata are not treated as validation errors. These exceptions will escape from the call to Validate and must be handled by the caller.

Applies to

CacheMetadata(NativeActivityMetadata)

Creates and validates a description of the activity's arguments, variables, child activities, and activity delegates.

protected:
 virtual void CacheMetadata(System::Activities::NativeActivityMetadata metadata);
protected virtual void CacheMetadata (System.Activities.NativeActivityMetadata metadata);
override this.CacheMetadata : System.Activities.NativeActivityMetadata -> unit
Protected Overridable Sub CacheMetadata (metadata As NativeActivityMetadata)

Parameters

metadata
NativeActivityMetadata

The activity's metadata that encapsulates the activity's arguments, variables, child activities, and activity delegates.

Examples

The following code sample demonstrates using CacheMetadata in a class that inherits from NativeActivity<TResult>. This example is from the Custom Composite using Native Activity sample.

protected override void CacheMetadata(NativeActivityMetadata metadata)
{
    //call base.CacheMetadata to add the Activities and Variables to this activity's metadata
    base.CacheMetadata(metadata);
    //add the private implementation variable: currentIndex
    metadata.AddImplementationVariable(this.currentIndex);
}

Remarks

The workflow runtime uses the default implementation of CacheMetadata to ensure correct construction of a workflow as well as to manage run-time relationships and lifetime rules. The default implementation of CacheMetadata examines the public members of the activity type using the type's TypeDescriptor. These public members are of type Argument, Variable, IEnumerable<Variable>, Activity, IEnumerable<Activity>, or ActivityDelegate. You can override this method to customize the building of the activity's run-time description and to provide custom validation logic. Any exceptions that are thrown from CacheMetadata are not treated as validation errors. These exceptions will escape from the call to Validate and must be handled by the caller.

Applies to