Я пытался заставить работать 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;
}
Нет, на самом деле он никогда не работал с linq, иногда он работает, а в других - нет.





Согласно заявленным Ограничениям для создания запроса на уведомление, перечисленным в msdn ...
Заявление не должно ссылаться на представление.
Спасибо, я наткнулся на это ... и у меня он работал с представлением (вроде), по-видимому, он не работает постоянно.
В другом комментарии вы упомянули, что вам удалось заставить это работать с представлением, но не очень хорошо. Вы когда-нибудь разбирались в этом, чтобы он работал стабильно?