Domanda

Ho un'applicazione MVC di base che utilizza NHibernate per OR/M e l'accesso ai dati, SyScache2 per la cache di secondo livello in NHibernate e SQLCacheDependency per la logica di invalidazione della cache sottostante. Credo di avere tutto impostato correttamente (posso aggiungere dettagli se richiesto) e posso vedere che gli articoli vengono memorizzati nella cache sul lato dell'applicazione.

Tuttavia, se aggiorno direttamente gli elementi nella tabella del database, nessun aggiornamento viene mai inviato all'applicazione tramite SQLCacheDependency e a SyScache2 in NHibernate. Pertanto, i dati vengono aggiornati nel database ed sono diversi da ciò che è nella cache nell'applicazione (in NHibernate con SyScache2).

Riesco a vedere il valore per la colonna [ChangeD] che correla alla tabella di dominio corretta che aumenta nella tabella [aspnet_sqlcachetablesforchangenotification], quindi sono abbastanza certo che il broker di servizio SQL sia configurato e configurato correttamente. Se profilo il database con SQL Profiler, posso vedere le chiamate di configurazione per code, servizi e SPROCS, nonché le richieste di conversazione iniziale per il monitoraggio.

Non sono davvero sicuro di cosa controllare dopo. Qualcuno ha avuto questo problema prima e qual è stata la risoluzione?

È stato utile?

Soluzione

Si scopre che il problema principale era il driver SQL che stavo usando non supportava batch. Una volta che l'ho tornato al pilota NHIBERNATE SQL 2008 predefinito è andato tutto a nuoto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top