// Stage 1: Data Validation public class ValidationStage : IPipelineStage<WorkItem, WorkItem> { public string StageName => "Validation";
public async Task<WorkItem> ProcessAsync(WorkItem input, CancellationToken token) { if (!input.IsValid) return input; net fx 4.0
This feature demonstrates parallel processing, task coordination, and cancellation tokens. Complete Implementation using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; namespace ParallelDataPipeline { // Custom data entity public class WorkItem { public int Id { get; set; } public string InputData { get; set; } public string ProcessedData { get; set; } public DateTime StartTime { get; set; } public DateTime EndTime { get; set; } public bool IsValid { get; set; } } // Stage 1: Data Validation public class ValidationStage
This feature showcases the power of .NET 4.0's parallel computing capabilities, perfect for data-intensive applications requiring high throughput and responsive processing. { public string StageName =>
public async Task<WorkItem> ProcessAsync(WorkItem input, CancellationToken token) { // Simulate validation work await Task.Delay(50, token); input.IsValid = !string.IsNullOrWhiteSpace(input.InputData) && input.InputData.Length >= 3; if (!input.IsValid) { input.ProcessedData = "INVALID"; } Console.WriteLine($"[{StageName}] Item {input.Id}: Valid = {input.IsValid}"); return input; } }
// Stage 3: Data Enrichment public class EnrichmentStage : IPipelineStage<WorkItem, WorkItem> { public string StageName => "Enrichment";