TaskFlow.Microsoft.Extensions.DependencyInjection
1.0.0
dotnet add package TaskFlow.Microsoft.Extensions.DependencyInjection --version 1.0.0
NuGet\Install-Package TaskFlow.Microsoft.Extensions.DependencyInjection -Version 1.0.0
<PackageReference Include="TaskFlow.Microsoft.Extensions.DependencyInjection" Version="1.0.0" />
<PackageVersion Include="TaskFlow.Microsoft.Extensions.DependencyInjection" Version="1.0.0" />
<PackageReference Include="TaskFlow.Microsoft.Extensions.DependencyInjection" />
paket add TaskFlow.Microsoft.Extensions.DependencyInjection --version 1.0.0
#r "nuget: TaskFlow.Microsoft.Extensions.DependencyInjection, 1.0.0"
#:package TaskFlow.Microsoft.Extensions.DependencyInjection@1.0.0
#addin nuget:?package=TaskFlow.Microsoft.Extensions.DependencyInjection&version=1.0.0
#tool nuget:?package=TaskFlow.Microsoft.Extensions.DependencyInjection&version=1.0.0
TaskFlow.Microsoft.Extensions.DependencyInjection
This package integrates TaskFlow with Microsoft.Extensions.DependencyInjection, providing scoped FIFO execution lanes, named configurations, decorator chains, and factories for explicitly owned flows.
Install
dotnet add package TaskFlow.Microsoft.Extensions.DependencyInjection
Scoped flow
using Microsoft.Extensions.DependencyInjection;
using System.Threading.Tasks.Flow;
services.AddTaskFlow();
Inject ITaskScheduler into scoped consumers:
public sealed class ReportWriter
{
private readonly ITaskScheduler _scheduler;
public ReportWriter(ITaskScheduler scheduler)
{
_scheduler = scheduler;
}
public Task SaveAsync(
Report report,
CancellationToken cancellationToken = default)
{
return _scheduler.Enqueue(
token => PersistAsync(report, token),
cancellationToken);
}
private static Task PersistAsync(
Report report,
CancellationToken token) => Task.CompletedTask;
}
The scope owns and disposes its underlying flow. Do not dispose an injected scheduler.
Named registrations select independently configured sequential flows. When the caller needs ownership, create an ITaskFlow through ITaskFlowFactory and dispose it with await using.
Documentation
Source, license, and feedback are available in the TaskFlow repository.
| Product | Versions 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 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 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- TaskFlow (>= 1.0.0)
-
net10.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- TaskFlow (>= 1.0.0)
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- TaskFlow (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.