DurableFunctionsMonitor.DotNetIsolated 6.4.0

There is a newer prerelease version of this package available.
See the version list below for details.

Requires NuGet 2.5 or higher.

dotnet add package DurableFunctionsMonitor.DotNetIsolated --version 6.4.0
NuGet\Install-Package DurableFunctionsMonitor.DotNetIsolated -Version 6.4.0
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="DurableFunctionsMonitor.DotNetIsolated" Version="6.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DurableFunctionsMonitor.DotNetIsolated --version 6.4.0
#r "nuget: DurableFunctionsMonitor.DotNetIsolated, 6.4.0"
#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.
// Install DurableFunctionsMonitor.DotNetIsolated as a Cake Addin
#addin nuget:?package=DurableFunctionsMonitor.DotNetIsolated&version=6.4.0

// Install DurableFunctionsMonitor.DotNetIsolated as a Cake Tool
#tool nuget:?package=DurableFunctionsMonitor.DotNetIsolated&version=6.4.0

DurableFunctionsMonitor.DotNetIsolated.Core

An incarnation of DurableFunctionsMonitor that can be "injected" into your .NET 7 Isolated Azure Function.

How to use

  • Install from NuGet:

    dotnet add package DurableFunctionsMonitor.DotNetIsolated
    
  • Initialize by calling .UseDurableFunctionMonitor() extension method during your Function's startup, like this:

    var host = new HostBuilder()
        .ConfigureFunctionsWorkerDefaults((hostBuilderContext, workerAppBuilder) => {
    
            workerAppBuilder.UseDurableFunctionsMonitor();
    
        })
        .Build();
    

    By default all settings are read from env variables (all the same config settings are supported), but those can be programmatically (re)configured like this:

    var host = new HostBuilder()
         .ConfigureFunctionsWorkerDefaults((hostBuilderContext, workerAppBuilder) => {
    
             workerAppBuilder.UseDurableFunctionsMonitor((settings, extensionPoints) => 
             {
                 // Override DfMon's settings here, e.g.
                 settings.Mode = DfmMode.ReadOnly;
                 // ....
             });
    
         })
         .Build();
    

    By default DfMon's endpoint will appear at http://localhost:7071/my-api-route-prefix/durable-functions-monitor. To override that behavior (e.g. to have it served from the root) add a custom statics-serving function like this:

    namespace DurableFunctionsMonitor.DotNetIsolated
    {
         public class MyCustomDfMonEndpoint: ServeStatics
         {
             public MyCustomDfMonEndpoint(DfmSettings dfmSettings, DfmExtensionPoints extensionPoints, ILoggerFactory loggerFactory) : 
                 base(dfmSettings, extensionPoints, loggerFactory)
             {
             }
    
             [Function(nameof(MyCustomDfMonEndpoint))]
             public Task<HttpResponseData> ServeDfMonStatics(
                 [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "/{p1?}/{p2?}/{p3?}")] HttpRequestData req,
                 string p1,
                 string p2,
                 string p3
             )
             {
                 return this.DfmServeStaticsFunction(req, p1, p2, p3);
             }
         }
    }
    

Limitations

  • Multiple Storage connection strings are not supported, only the default one (AzureWebJobsStorage).
  • For non-default durability providers you'll need to provide custom routines for retrieving instance history etc. This should be done via extensionPoints parameter of .UseDurableFunctionsMonitor() configuration method. Code for MSSQL storage provider can be directly copied from here.
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
.NET Core netcoreapp2.1 is compatible.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 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
6.5.0-beta1 57 4/26/2024
6.4.0 1,711 3/9/2024
6.4.0-beta4 274 3/3/2024
6.3.0-beta7 120 2/24/2024
6.3.0-beta6 613 1/12/2024
6.3.0-beta5 72 1/12/2024
6.3.0-beta4 133 1/12/2024
6.3.0-beta3 75 1/11/2024
6.3.0-beta2 102 1/11/2024
6.3.0-beta1 3,185 8/16/2023
6.3.0-alpha2 150 8/7/2023