Asynkron.DurableFunctions 0.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package Asynkron.DurableFunctions --version 0.0.2
                    
NuGet\Install-Package Asynkron.DurableFunctions -Version 0.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Asynkron.DurableFunctions" Version="0.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Asynkron.DurableFunctions" Version="0.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Asynkron.DurableFunctions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Asynkron.DurableFunctions --version 0.0.2
                    
#r "nuget: Asynkron.DurableFunctions, 0.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Asynkron.DurableFunctions@0.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Asynkron.DurableFunctions&version=0.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Asynkron.DurableFunctions&version=0.0.2
                    
Install as a Cake Tool

Asynkron.DurableFunctions Library

This library provides base classes and attributes that replicate the functionality of Azure Durable Functions, but with "Asynkron" prefixes instead of "Azure".

Features

Attributes

  • FunctionNameAttribute - Specifies the name of a function (equivalent to Azure's [FunctionName])
  • OrchestrationTriggerAttribute - Specifies that a parameter should be treated as an orchestration trigger (equivalent to Azure's [OrchestrationTrigger])

Interfaces

  • IDurableOrchestrationContext - Defines the interface for a durable orchestration context (equivalent to Azure's IDurableOrchestrationContext)

Context Methods

The IDurableOrchestrationContext provides the following methods:

  • CallActivityAsync<TResult>(string name, object? input = null) - Calls an activity function asynchronously with a return value
  • CallActivityAsync(string name, object? input = null) - Calls an activity function asynchronously without a return value
  • CreateTimer(DateTime fireAt) - Creates a timer that expires at the specified time
  • WaitForExternalEvent<TResult>(string name) - Waits for an external event to be raised

Properties

  • InstanceId - Gets the instance ID of the orchestration
  • CurrentUtcDateTime - Gets the current date and time in UTC
  • IsReplaying - Gets a value indicating whether the orchestration is replaying

Usage Example

using Asynkron.DurableFunctions;

public class MyOrchestrator
{
    [FunctionName("MyOrchestrator")]
    public async Task<string> RunOrchestrator([OrchestrationTrigger] IDurableOrchestrationContext context)
    {
        var result = await context.CallActivityAsync<string>("MyActivity", "input data");
        return result;
    }

    [FunctionName("MyActivity")]
    public string MyActivity(string input)
    {
        return $"Processed: {input}";
    }
}

Current Status

This is a stub implementation. The core attributes and interfaces are implemented, but the actual orchestration runtime is not yet implemented. The CallActivityAsync, CreateTimer, and WaitForExternalEvent methods currently throw NotImplementedException.

Future Development

To complete the implementation, the following would need to be added:

  1. Orchestration runtime engine
  2. Activity function discovery and invocation
  3. State persistence and replay logic
  4. Timer management
  5. External event handling
  6. ASP.NET Core integration
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.5 101 9/28/2025
0.0.3 157 9/26/2025
0.0.2 152 9/24/2025