MicroFlows 1.0.0
dotnet add package MicroFlows --version 1.0.0
NuGet\Install-Package MicroFlows -Version 1.0.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="MicroFlows" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MicroFlows --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MicroFlows, 1.0.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 MicroFlows as a Cake Addin #addin nuget:?package=MicroFlows&version=1.0.0 // Install MicroFlows as a Cake Tool #tool nuget:?package=MicroFlows&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MicroFlows
Use MicroFlows to implement Stateful workflows for microservices
DI registration and usage:
// program
...
services.AddMicroFlows(configuration)
.RegisterFlow<SampleFlow>()
.RegisterFlow<OrderFlow>()
;
services.AddMicroFlowsMsSqlRepo(configuration,
new MsSqlFlowRepositorySettings
{
// your connection string
ConnectionString = _msSqlContainer.GetConnectionString()
});
...
// constructor
public void MyService(IFlowProvider flowProvider)
{
_flowProvider = flowProvider;
}
...
public async Task RunOrderProcessing
{
var ps = new FlowParams{ ps.FlowName = typeof(OrderFlow).FullName };
ps["OrderId"] = "A000123";
await _flowProvider.ExecuteFlow(ps);
}
...
// flow example
public class OrderFlow : FlowBase
{
public bool InitPassed { get; set; }
public bool UpdatePassed { get; set; }
public bool InlinePassed { get; set; }
public bool CallInlinePassed { get; set; }
public async Task Flow()
{
await CallAsync(Init);
await CallAsync(async () => await Update(1, "String"));
InlinePassed = true;
Call(() => CallInlinePassed = true);
}
private async Task Init()
{
InitPassed = true;
}
private async Task Update(int? key, string? name)
{
UpdatePassed = true;
}
}
Release Notes
1.0.0+
- Added MsSqlFlowRepository
- Added Fluent Flows
0.5.0+
- Added Non Public Fields and Properties to model
- Migrated to new JsonPathToModel
- Added flow validations
0.2.0-0.4.3
- Added Flow Signals
- bug fixing
0.1.*
- Initial import from ProCodersPtyLtd/BlazorForms
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- Castle.Core (>= 5.1.1)
- Castle.Core.AsyncInterceptor (>= 2.1.0)
- JsonPathToModel (>= 1.6.1)
- Microsoft.Data.SqlClient (>= 6.0.1)
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.5)
- System.Text.RegularExpressions (>= 4.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.