また、最近リリースされた Service Bus Durable Task Framework のプレビューをこちらでご覧になることもできます。このフレームワークの使用方法のサンプルについては、こちらを参照してください。
基本的に、このフレームワークをセッションなどの Service Bus 機能の上で使用すると、大まかに次のようなことを行う C# オーケストレーション コードを記述できます。
...
// phase 1
List<Task> taskList = new List<Task>();
foreach (var serverName in serverList)
{
taskList.Add(context.ScheduleTask<object>(typeof(ExecutePhase1OnWebServerActivity), serverName));
}
// wait for all of the executions to finish
await Task.WhenAll(taskList);
// phase 2
taskList = new List<Task>();
foreach (var serverName in serverList)
{
taskList.Add(context.ScheduleTask<object>(typeof(ExecutePhase2OnWebServerActivity), serverName));
}
await Task.WhenAll(taskList);
...