Pregunta

He estado tratando de implementar regiones de caché con nhibernado fluido y he hecho lo siguiente hasta ahora:

1) Configurar almacenamiento en caché en fluidamente.configure ():

private static ISessionFactory CreateSessionFactory()
{
    string csStringName = Environment.MachineName;

    var nhibConfigProps = new Dictionary<string, string>();
    nhibConfigProps.Add("current_session_context_class","web");

    var cfg = Fluently.Configure()
        .Database(MsSqlConfiguration.MsSql2008
                      .ConnectionString(c => c.FromConnectionStringWithKey(csStringName))
                      .ShowSql()
                      .Cache(cache=>cache.ProviderClass<NHibernate.Caches.SysCache2.SysCacheProvider>().UseQueryCache()))
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMap>())
        .ExposeConfiguration(config => config.AddProperties(nhibConfigProps))
        .ExposeConfiguration(config=> config.EventListeners.DeleteEventListeners = new IDeleteEventListener[] {new SoftDeleteListener()})
        .ExposeConfiguration(config => new SchemaUpdate(config).Execute(false, true))
        .BuildSessionFactory();

    return cfg;
}

2) Cambió mi Maps de clase para habilitar el caché y establecer la región de elección:

 public UserMap()
 {
     Cache.ReadWrite().Region("User");
     ...
 }

Esperemos que haya hecho lo anterior correctamente, pero realmente no puedo entender dónde configurar la prioridad y la duración del caché para cada región. ¿Sabes como hacer esto? Y si encuentra fallas en el código anterior, realmente apreciaría los comentarios.

¿Fue útil?

Solución

Deberá agregar el tiempo de prioridad y vencimiento para esta región en la configuración de SysCache en Web/App.Config. Echa un vistazo a Esta excelente publicación Para una gran explicación del uso de caché de segundo nivel. Los ejemplos usan vainilla nHibernate, pero debe tener la idea: el bit de configuración de syscache está al final de la publicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top