Skip to main content

Temporal .NET SDK feature guidance

This section contains the following feature guidance for the Temporal .NET SDK.

Core Application

Temporal Client

Testing

  • Test frameworks: Testing provides a framework to facilitate Workflow and integration testing.
  • Testing Workflows: Ensure the functionality and reliability of your Workflows.
  • Testing Activities: Validate the execution and outcomes of your Activities.
  • Replay test: Replay recreates the exact state of a Workflow Execution.

Failure Detection

  • Workflow timeouts: Each Workflow timeout controls the maximum duration of a different aspect of a Workflow Execution.
  • Workflow retries: A Workflow Retry Policy can be used to retry a Workflow Execution in the event of a failure.
  • Activity timeouts : Each Activity timeout controls the maximum duration of a different aspect of an Activity Execution.
  • Set an Activity Retry Policy: Define retry logic for Activities to handle failures.

Message Passing

Signals

Queries

  • Define a Query: A Query is a synchronous operation that is used to get the state of a Workflow Execution.
  • Send Queries: Queries are sent from the Temporal Client.
  • Set a Dynamic Query: A Dynamic Query in Temporal is a Query that is invoked dynamically at runtime if no other Query with the same name is registered.

Updates

  • Define an Update: An Update is an operation that can mutate the state of a Workflow Execution and return a response.
  • Send an Update: An Update is sent from the Temporal Client.

Cancel and Terminate

  • Cancel a Workflow: Interrupt a Workflow Execution and its Activities through Workflow cancellation.
  • Terminate a Workflow: Interrupt a Workflow Execution and its Activities through Workflow termination.

Heartbeat

  • Heartbeat an Activity: An Activity Heartbeat is a ping from the Worker that is executing the Activity to the Temporal Cluster.
  • Set a Heartbeat Timeout: A Heartbeat Timeout works in conjunction with Activity Heartbeats.

Versioning

Observability

  • Emit Metrics: Each Temporal SDK is capable of emitting an optional set of metrics from either the Client or the Worker process.
  • Set up Tracing: Explains how the Go SDK supports tracing and custom context propogation.
  • Log from a Workflow: Send logs and errors to a logging service, so that when things go wrong, you can see what happened.
  • Use Visibility APIs: The term Visibility, within the Temporal Platform, refers to the subsystems and APIs that enable an operator to view Workflow Executions that currently exist within a Terminal Service.

Debugging

Schedules

Data Encryption

Durable Timers

  • Sleep: A Timer lets a Workflow sleep for a fixed time period.

Continue-As-New

  • Continue-As-New: Continue-As-New enables a Workflow Execution to close successfully and create a new Workflow Execution in a single atomic operation if the number of Events in the Event History is becoming too large.

Child Workflows

  • Child Workflows: A Child Workflow Execution is a Workflow Execution that is scheduled from within another Workflow using a Child Workflow API.

Asynchronous Activity

  • Asynchronous Activity: Asynchronous Activity Completion enables the Activity Function to return without the Activity Execution completing.