public bool Initialize(string userId, CancellationToken token) { try { return(Task.Run(() => { var finalConnectionString = _adapter == null ? connectionString : _adapter.ConnectionStrings(this.connectionStringName); Expression <Func <TTable, bool> > filterExpression = p => p.ExecutorId == userId; ITableDependencyFilter whereCondition = new SqlTableDependencyFilter <TTable>(filterExpression); Table = new SqlTableDependency <TTable>( finalConnectionString, TableName, filter: whereCondition); Table.OnChanged += OnChangeRaised; Table.OnError += Table_OnError; Table.Start(); return true; }, token).Result); } catch (OperationCanceledException) { throw; } catch (Exception ex) { throw ex; } }