Уведомление команды SqlCacheDependecy не работает - PullRequest
0 голосов
/ 27 октября 2008

Я пытался заставить работать sqlcachedependecy, но, похоже, не работает

Я получил правильные настройки в своем web.config, а также global.asa, однако, когда я запускаю этот запрос и изменения вносятся в базу данных как внутри, так и за пределами веб-сайта, кэшированные объекты не обновляются, пожалуйста, кто-то Помогите? Я знаю, что это не потому, что этот запрос запрашивает представление, потому что я проверил это с помощью прямой SqlDependecy, и уведомление работает нормально.

  public IQueryable<VictoryList> GetVictoryList()
   {
                string cacheKey = HttpContext.Current.User.Identity.Name + "victoryCacheKey";
                IQueryable<VictoryList> cachednews = (IQueryable<VictoryList>)HttpContext.Current.Cache.Get(cacheKey);

                if (cachednews == null)
                {

                    var results = from v in _datacontext.ViewVictoryLists
                                  orderby _datacontext.GetNewId()
                                  select new VictoryList
                                  {
                                      MemberID = v.MemberID,
                                      Username = v.Aspnetusername,
                                      Location = v.Location,
                                      DaimokuGoal = v.DaimokuGoal,
                                      PreviewImageID = v.PreviewImageID,
                                      TotalDaimoku = v.TotalDaimoku,
                                      TotalDeterminations = v.TotalDeterminations,
                                      DeterminationID = v.DeterminationID,
                                      DeterminationName = v.DeterminationName
                                  };
                    results = results.ToList().AsQueryable();
                    SqlCacheDependencyAdmin.EnableNotifications(_datacontext.Connection.ConnectionString);
                    SqlCacheDependency dependency =
                     new SqlCacheDependency(_datacontext.GetCommand(results) as SqlCommand);



                    HttpContext.Current.Cache.Insert(cacheKey, results, dependency);

                    return results;
                }
                return cachednews;
   }

1 Ответ

2 голосов
/ 28 октября 2008

Согласно заявленным ограничениям для создания запроса на уведомление, указанному в msdn ...

Оператор не должен ссылаться на представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...