using System.Collections.Generic;
using System.Threading.Tasks;
public static void Main()
Console.WriteLine("Calling GetData with id:{0}", 1);
Console.WriteLine("Calling GetData with id:{0}", 2);
Task.WaitAll(data1, data2);
public static async Task<List<string>> GetData(int id)
Task<List<string>> task = Task<Task<List<string>>>.Factory.StartNew(async () =>
System.Runtime.Remoting.Messaging.CallContext.SetData("MS.SqlDependencyCookie", id);
return await FakeToListAsync();
public static async Task<List<string>> FakeToListAsync()
int id = (int)System.Runtime.Remoting.Messaging.CallContext.GetData("MS.SqlDependencyCookie");
Console.WriteLine("Calling FakeToListAsync with id:{0}", id);
return new List<string>();