OutWit.Controller.Special
1.0.2
dotnet add package OutWit.Controller.Special --version 1.0.2
NuGet\Install-Package OutWit.Controller.Special -Version 1.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="OutWit.Controller.Special" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OutWit.Controller.Special" Version="1.0.2" />
<PackageReference Include="OutWit.Controller.Special" />
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 OutWit.Controller.Special --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: OutWit.Controller.Special, 1.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 OutWit.Controller.Special@1.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=OutWit.Controller.Special&version=1.0.2
#tool nuget:?package=OutWit.Controller.Special&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
OutWit.Controller.Special
A WitEngine controller that provides control flow and execution management activities.
Overview
This controller adds programming constructs like loops, conditionals, parallel execution, and debugging utilities to WitEngine jobs. It enables complex workflow logic within distributed computing tasks.
Dependencies
OutWit.Controller.Variables(version 1.0.0 or higher)
Activities
Control Flow
| Activity | Description |
|---|---|
If |
Conditional execution |
Loop |
Repeat block a specified number of times |
ForEach |
Iterate over a collection |
Break |
Exit current loop |
Continue |
Skip to next iteration |
Parallel Execution
| Activity | Description |
|---|---|
Parallel.Invoke |
Execute multiple activities in parallel |
Parallel.ForEach |
Process collection items in parallel |
Transform Operations
| Activity | Description |
|---|---|
Transform.ForEach |
Transform each item in a collection |
Zip |
Combine two collections element-wise |
Execution Control
| Activity | Description |
|---|---|
Invoke |
Execute a block of activities |
Delayed |
Execute after a specified delay |
Timer |
Execute repeatedly at intervals |
Pause |
Pause job execution |
Return |
Return values from a job |
Debugging
| Activity | Description |
|---|---|
Trace |
Output debug messages |
Usage Examples
Conditional Execution
Job:ConditionalExample()
{
Int:value = 42;
Boolean:result = false;
If(value > 10)
{
result = true;
Trace("Value is greater than 10", false);
}
}
Loop Iteration
Job:LoopExample()
{
Int:sum = 0;
Loop(10)
{
sum = sum + 1;
}
}
ForEach Over Collection
Job:ForEachExample()
{
IntCollection:numbers = IntRange(1, 5);
Int:total = 0;
ForEach(item in numbers)
{
total = total + item;
}
}
Parallel Execution
Job:ParallelExample()
{
Int:result1 = 0;
Int:result2 = 0;
Parallel.Invoke
{
result1 = ExpensiveCalculation1();
result2 = ExpensiveCalculation2();
}
}
Transform with Arrow Syntax
Job:TransformExample()
{
IntCollection:input = IntRange(1, 10);
IntCollection:output;
output = ForEach(x in input) => MultiplyByTwo(x);
}
Delayed Execution
Job:DelayedExample()
{
Trace("Starting", false);
Delayed(5000)
{
Trace("Executed after 5 seconds", false);
}
}
Return Values
Job:ReturnExample(Int:input)
{
Int:result = input * 2;
Return(result);
}
Project Structure
OutWit.Controller.Special/
Activities/ - Activity definitions
Adapters/ - Activity adapters (parsing and processing)
Properties/ - Localized resources
Utils/ - Helper utilities
WitControllerSpecialModule.cs - Plugin entry point
Creating Custom Control Flow Activities
To create a custom control flow activity:
- For simple activities: inherit from
WitActivityFunctionorWitActivityCommand - For composite activities (with body): inherit from
WitActivityComposite - For transform activities (with arrow syntax): inherit from
WitActivityTransform - Add the
[Activity("Name")]attribute - Create an adapter implementing
IWitActivityAdapter<T> - Register in the module with
services.AddActivityAdapter<Activity, Adapter>()
See existing implementations for reference.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- OutWit.Engine.Assets.MSBuild (>= 1.0.1)
- OutWit.Engine.Data (>= 1.1.0)
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 |
|---|---|---|
| 1.0.2 | 76 | 5/18/2026 |