J'essaie de faire fonctionner correctement les sqlcachedependecy, mais il ne semble pas fonctionnernotification de commande ne fonctionne pas SqlCacheDependecy
Je suis les paramètres appropriés dans mon web.config et aussi global.asa, mais quand je lance cette requête et les modifications sont apportées à la base de données soit avec dans ou en dehors du site web les objets mis en cache ne sont pas mis à jour s'il vous plaît quelqu'un d'aide? Je sais que ce n'est pas parce que cette requête interroge une vue, parce que j'ai testé cela en utilisant SqlDependecy et la notification fonctionne bien.
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;
}
Vous avez mentionné dans un autre commentaire que vous étiez capable de travailler avec une vue, mais pas très bien. Avez-vous déjà réglé ce problème pour que cela fonctionne de façon uniforme? – mpeterson
Non, ça n'a jamais vraiment fonctionné avec linq, ça marche parfois et d'autres pas. – dswatik