public static async Task <string> BlockIPWafOrchestration( [OrchestrationTrigger] IDurableOrchestrationContext context) { Payload data = context.GetInput <Payload>(); RequestParam reqparam = new RequestParam { action = "add", blockips = new List <string> { $"{data.blockip}" } }; //var output1 = await context.CallActivityAsync<string>("UpdateWafPolicy", reqparam); //var output2 = await context.CallActivityAsync<string>("InsertToDB", reqparam); //run parallel var tasks = new Task <string> [2]; tasks[0] = context.CallActivityAsync <string>("UpdateWafPolicy", reqparam); tasks[1] = context.CallActivityAsync <string>("InsertToDB", reqparam); await Task.WhenAll(tasks); return(tasks[0].Result); }
public static async Task <string> TTLTimerOrchestration( [OrchestrationTrigger] IDurableOrchestrationContext context) { List <string> ttllist = await context.CallActivityAsync <List <string> >("UpdateTTL", null); string policy = "nothing updated"; if (ttllist.Count > 0) { RequestParam reqparam = new RequestParam { action = "remove", blockips = ttllist }; policy = await context.CallActivityAsync <string>("UpdateWafPolicy", reqparam); } return(policy); }