Dependencia de Sql con EntityFramework 6 (async)

Estoy usando el EF 6async características de consulta, tales como

var list = await cx.Clients.Where(c => c.FirstName.Length > 0).ToListAsync();

También quiero iniciar las dependencias de SQL en estas consultas para que pueda recibir una notificación cuando los datos en la base de datos cambien. Puedo hacer esto usando elSystem.Runtime.Remoting.Messaging.CallContext como sigue:

    async Task GetData()
    {
        using (ClientsContext context = new ClientsContext()) // subclass of DbContext
        {

            SqlDependency.Start(context.Database.Connection.ConnectionString);
            SqlDependency dependency = new SqlDependency();
            dependency.OnChange += (sender, e) =>
                {
                    Console.Write(e.ToString()); 
                };

            System.Runtime.Remoting.Messaging.CallContext.SetData("MS.SqlDependencyCookie", dependency.Id);
            var list = await context.Clients.Where(c => c.FirstName.Length > 0).ToListAsync();
        }
    }

.. y funciona bien. Pero me estoy topando con un problema si quiero tener unSqlDependency en más de una consulta. Si tengo dosasync métodos similares aGetData() arriba, y ejecuto ambos al mismo tiempo, solo el primero recibirá notificaciones de cambio. Supongo que esto se debe a que CallContext tiene la cookie establecida por cada método en sucesión. Si espero la primeraasync método para completar, luego llame al segundo, ambos reciben notificaciones de cambio como se esperaba. Hay alguna solución para esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta