Está bien aunque yo lo implementatría distinto.En el constructor de CastleSharedEngineProvider injectaría ValidatorEngine y en Castle registraría ISharedEngineProvider. En la configuración de NHV le pido a WindSor, o mejor al ServiceLocator, la instancia de ISharedEngineProvider.
El 24 de abril de 2009 13:38, "José F. Romaniello" <[email protected]>escribió: > > Y ya que estamos hablando de rudimentario, yo no me animaba a mostrar el > mio por las duda les causara asco, > tiene esta pinta esta "pasable" por lo menos?: > > public class CastleSharedEngineProvider : ISharedEngineProvider > { > public ValidatorEngine GetEngine() > { > var containerAccessor = > HttpContext.Current.ApplicationInstance as IContainerAccessor; > > if (containerAccessor == null) > throw new Exception("No se encontro IContainerAccessor"); > > var ve = containerAccessor.Container.Resolve<ValidatorEngine>(); > > return ve; > } > } > > en el container lo meto asi : > > Component.For<ValidatorEngine>() > .Instance(ve) > .LifeStyle.Singleton > > (creo que el singleton no haría falta ya que le estoy pasando una > instancia concreta). > > > Fabio Maulo escribió: > > barbaro me preocupa solo lo de "rudimentario"... para eso usá lo que > > está en NHV que ya es static por si mismo. > > > > El 24 de abril de 2009 13:01, Juan <[email protected] > > <mailto:[email protected]>> escribió: > > > > > > Por ahora tengo un ISharedEngineProvider rudimentario que lo creo en > > codigo y se lo pongo al > > NHibernate.Validator.Enviroment.SharedEngineProvider antes de > > configurar el NHibernate para asegurarme que es la misma engine que > > va a utilizar NH, en los pre update/delete listeners. > > > > Pero queria quitarme esa dudita, ya que con la App/Web config puedo > > hacer lo mismo, aunque yo lo hago a mano por el hecho de tener la > > config de nhv en una archivo aparte. > > > > Gracias > > > > On 23 abr, 11:58, Dario Quintana <[email protected] > > <mailto:[email protected]>> > > wrote: > > > Otra opción, que se podría usar para configurar con > > nhvalidator.cfg.xml: > > > .. > > > var vtor = new ValidatorEngine(); > > > vtor.Configure(); //lee el nhvalidator.cfg.xml > > > .. > > > > > > Cuando se lee de la configuración se instancia el SharedEngine, > > pero la > > > instancia 'vtor' se la podría: > > > 1) "copiar" la instancia adentro del SharedEngine, entonces se > > usa la misma > > > instancia. > > > 2) descartarla, y que el SharedEngine cree otra instancia. Pero > > ahí queda > > > feo porque, en cada aplicación se habrían creado por lo menos dos > > > ValidatorEngine. > > > > > > 2009/4/23 Fabio Maulo <[email protected] > > <mailto:[email protected]>> > > > > > > > La razon es que es la unica forma de garantizar que el > > ValidatorEngine sea > > > > realmente shared.Pero podes asignar el SharedEngine a mano. > > > > > > -- > > > Dario Quintanahttp://darioquintana.com.ar > > <http://darioquintana.com.ar> > > > > > > > > > > -- > > Fabio Maulo > > > > > > > > > > -- Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
