Brows.Operations
1.3.0
dotnet add package Brows.Operations --version 1.3.0
NuGet\Install-Package Brows.Operations -Version 1.3.0
<PackageReference Include="Brows.Operations" Version="1.3.0" />
<PackageVersion Include="Brows.Operations" Version="1.3.0" />
<PackageReference Include="Brows.Operations" />
paket add Brows.Operations --version 1.3.0
#r "nuget: Brows.Operations, 1.3.0"
#:package Brows.Operations@1.3.0
#addin nuget:?package=Brows.Operations&version=1.3.0
#tool nuget:?package=Brows.Operations&version=1.3.0
Brows.Operations
Core interfaces and operation tracking for asynchronous .NET work. An IOperator starts operations; each OperationDelegate reports progress through IOperationProgress and can create child operations.
Progress and target changes from children roll up to the root operation. Failed operations remain in the collection for inspection, while successful roots are removed automatically. The concrete Operator implementation is internal; reference Brows.Operations.Composition and resolve IOperatorFactory through Brows.Composition to create an operator.
IOperatorFactory.Create() captures the current synchronization context when the operator is created.
For WPF binding, create the operator on the dispatcher thread or pass its context explicitly to
Create(SynchronizationContext). Root and child collection changes are posted asynchronously to the
captured context. With no context, the producer that starts a queue drain projects changes
synchronously. A concurrent or reentrant update can enqueue while that drain is active, return before
its observable projection, and have its event delivered on the active drainer thread. Progress reports
and child registration may run on worker threads, including after ConfigureAwait(false).
Operation state updates are synchronized by the library. Property-change notifications run on the
updating thread after state locks have been released. State is committed before notifications, and
reentrant reports append notifications to the current thread's batch. WPF bindings marshal bound
property updates to their dispatcher. Use IOperationCollection.Snapshot() to enumerate roots while
other threads add or remove them. See the
repository README for a usage example and build
instructions.
| Product | Versions 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 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 Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
-
.NETFramework 4.6.2
- Domore.Logs (>= 10.6.4)
- Domore.Notification (>= 10.6.4)
- System.ValueTuple (>= 4.5.0)
-
.NETFramework 4.8
- Domore.Logs (>= 10.6.4)
- Domore.Notification (>= 10.6.4)
-
net10.0
- Domore.Logs (>= 10.6.4)
- Domore.Notification (>= 10.6.4)
-
net8.0
- Domore.Logs (>= 10.6.4)
- Domore.Notification (>= 10.6.4)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Brows.Operations:
| Package | Downloads |
|---|---|
|
Brows.Operations.Composition
Package Description |
|
|
Brows.Operations.Windows
Package Description |
|
|
Brows.Win32.Interop.Composition
Package Description |
|
|
Brows.Win32.Interop.Operations
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.