Share via


IDurableOrchestrationContext Interface

Definition

Provides functionality available to orchestration code.

public interface IDurableOrchestrationContext
type IDurableOrchestrationContext = interface
Public Interface IDurableOrchestrationContext
Derived

Properties

CurrentUtcDateTime

Gets the current date/time in a way that is safe for use in orchestrations and entity operations.

InstanceId

Gets the instance ID of the currently executing orchestration.

IsReplaying

Gets a value indicating whether the orchestration or operation is currently replaying itself.

Name

Gets the name of the current orchestration function.

ParentInstanceId

Gets the parent instance ID of the currently executing sub-orchestration.

Methods

CallActivityAsync(String, Object)

Schedules an activity function named functionName for execution.

CallActivityAsync<TResult>(String, Object)

Schedules an activity function named functionName for execution.

CallActivityWithRetryAsync(String, RetryOptions, Object)

Schedules an activity function named functionName for execution with retry options.

CallActivityWithRetryAsync<TResult>(String, RetryOptions, Object)

Schedules an activity function named functionName for execution with retry options.

CallEntityAsync(EntityId, String, Object)

Calls an operation on an entity, passing an argument, and waits for it to complete.

CallEntityAsync(EntityId, String)

Calls an operation on an entity and waits for it to complete.

CallEntityAsync<TResult>(EntityId, String, Object)

Calls an operation on an entity, passing an argument, and returns the result asynchronously.

CallEntityAsync<TResult>(EntityId, String)

Calls an operation on an entity and returns the result asynchronously.

CallHttpAsync(DurableHttpRequest)

Makes an HTTP call using the information in the DurableHttpRequest.

CallHttpAsync(HttpMethod, Uri, String, HttpRetryOptions)

Makes an HTTP call to the specified uri.

CallSubOrchestratorAsync(String, Object)

Schedules an orchestrator function named functionName for execution.

CallSubOrchestratorAsync(String, String, Object)

Schedules an orchestrator function named functionName for execution.

CallSubOrchestratorAsync<TResult>(String, Object)

Schedules an orchestrator function named functionName for execution.

CallSubOrchestratorAsync<TResult>(String, String, Object)

Schedules an orchestration function named functionName for execution.

CallSubOrchestratorWithRetryAsync(String, RetryOptions, Object)

Schedules an orchestrator function named functionName for execution with retry options.

CallSubOrchestratorWithRetryAsync(String, RetryOptions, String, Object)

Schedules an orchestrator function named functionName for execution with retry options.

CallSubOrchestratorWithRetryAsync<TResult>(String, RetryOptions, Object)

Schedules an orchestrator function named functionName for execution with retry options.

CallSubOrchestratorWithRetryAsync<TResult>(String, RetryOptions, String, Object)

Schedules an orchestrator function named functionName for execution with retry options.

ContinueAsNew(Object, Boolean)

Restarts the orchestration by clearing its history.

CreateEntityProxy<TEntityInterface>(EntityId)

Create an entity proxy.

CreateEntityProxy<TEntityInterface>(String)

Create an entity proxy.

CreateTimer(DateTime, CancellationToken)

Creates a durable timer that expires at a specified time.

CreateTimer<T>(DateTime, T, CancellationToken)

Creates a durable timer that expires at a specified time.

GetInput<TInput>()

Gets the input of the current orchestrator function as a deserialized value.

IsLocked(IReadOnlyList<EntityId>)

Determines whether the current context is locked, and if so, what locks are currently owned.

LockAsync(EntityId[])

Acquires one or more locks, for the specified entities.

NewGuid()

Creates a new GUID that is safe for replay within an orchestration or operation.

SetCustomStatus(Object)

Sets the JSON-serializeable status of the current orchestrator function.

SetOutput(Object)

Sets the output for the current orchestration.

SignalEntity(EntityId, DateTime, String, Object)

Signals an operation to be performed by an entity at a specified time. Any result or exception is ignored (fire and forget).

SignalEntity(EntityId, String, Object)

Signals an entity to perform an operation, without waiting for a response. Any result or exception is ignored (fire and forget).

StartNewOrchestration(String, Object, String)

Schedules a orchestration function named functionName for execution./>. Any result or exception is ignored (fire and forget).

WaitForExternalEvent(String, TimeSpan, CancellationToken)

Waits asynchronously for an event to be raised with name name.

WaitForExternalEvent(String)

Waits asynchronously for an event to be raised with name name.

WaitForExternalEvent<T>(String, TimeSpan, CancellationToken)

Waits asynchronously for an event to be raised with name name and returns the event data.

WaitForExternalEvent<T>(String, TimeSpan, T, CancellationToken)

Waits asynchronously for an event to be raised with name name and returns the event data.

WaitForExternalEvent<T>(String)

Waits asynchronously for an event to be raised with name name and returns the event data.

Extension Methods

CreateReplaySafeLogger(IDurableOrchestrationContext, ILogger)

Returns an instance of ILogger that is replay safe, ensuring the logger logs only when the orchestrator is not replaying that line of code.

Applies to