Skip to main content

Temporal .NET SDK feature guidance

The following Temporal .NET SDK feature guides aim to show how to use Temporal features when developing Temporal Applications.

Core application

The Core application feature guide shows how to use the basic building blocks of a Temporal Application (Workflows, Activities, and Workers).

Temporal Client

The Temporal Client feature guide shows how to connect to a Temporal Service and start a Workflow Execution.

Testing suite

The Testing suite feature guide shows how to set up the testing suite and test Workflows and Activities.

  • 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

The Failure detection feature guide shows how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.

  • 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.
  • Heartbeat an Activity: An Activity Heartbeat is a ping from the Worker that is executing the Activity to the Temporal Service.
  • Heartbeat Timeout: A Heartbeat Timeout works in conjunction with Activity Heartbeats.

Message passing

The Workflow messages feature guide shows how to send messages to and read the state of Workflow Executions.

Signals

  • Define Signal: A Signal is a message sent to a running Workflow Execution.
  • Send a Signal from a Temporal Client: Send a Signal to a Workflow from a Temporal Client.
  • Send a Signal from a Workflow: Send a Signal to another Workflow from within a Workflow, this would also be called an External Signal.
  • Signal-With-Start: Start a Workflow and send it a Signal in a single operation used from the Client.
  • Dynamic Handler: Dynamic Handlers provide flexibility to handle cases where the names of Workflows, Activities, Signals, or Queries aren't known at run time.
  • Set a Dynamic Signal: A Dynamic Signal in Temporal is a Signal that is invoked dynamically at runtime if no other Signal with the same input is registered.

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.

Interrupt a Workflow

The Interrupt a Workflow feature guide shows how to interrupt a Workflow Execution with a Cancel or Terminate action.

  • 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.

Versioning

The Versioning feature guide shows how to change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.

Observability

The Observability feature guide shows how to configure and use the Temporal Observability APIs.

  • 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

The Debugging feature guide covers the various ways to debug your application.

Schedules

The Schedules feature guide shows how to schedule Workflows and to delay the start of a Workflow.

Data encryption

The Data encryption feature guide provides guidance on how to support compression, encryption, and other data handling by implementing custom converters and codecs.

Durable Timers

The Durable Timers feature guide shows how to use Timers and sleep within Workflows.

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

Continue-As-New

The Continue-As-New feature guide shows how to continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.

  • 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

The Child Workflows feature guide shows how to spawn a Child Workflow Execution and handle Child Workflow Events.

  • Start a Child Workflow Execution: A Child Workflow Execution is a Workflow Execution that is scheduled from within another Workflow using a Child Workflow API.
  • Set a Parent Close Policy: A Parent Close Policy determines what happens to a Child Workflow Execution if its Parent changes to a Closed status.

Asynchronous Activity

The Asynchronous Activity feature guide shows how to complete Activities asynchronously.

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