El 24 de abril de 2009 15:00, "José F. Romaniello"
<[email protected]>escribió:

>
> Barbaro, entiendo lo que decis y realmente me gusta mas.  Si no fuera
> molestia, podrías comentar un poco como se hace lo segundo (por ahora
> sin ServiceLocator):
>     "En la configuración de NHV le pido a WindSor, o mejor al
> ServiceLocator, la instancia de ISharedEngineProvider."
>

container.Resolve<ISharedEngineProvider>();


> Por otro lado, existe alguna forma de hacer esto en app/web.config?


Ah bueno... desde allí no podes porque tiene que ser parameter-less ctor.
Pero si configuras NHV luego de configurar el container y lo primero que
haces es asignar el SharedEngineProvider todo te funciona.


>
>
> Fabio Maulo escribió:
> > 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] <mailto:[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]>
> >     > <mailto:[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]
> >
> >     >     <mailto:[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]>
> >     >     <mailto:[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>
> >     >     <http://darioquintana.com.ar>
> >     >
> >     >
> >     >
> >     >
> >     > --
> >     > Fabio Maulo
> >     >
> >     > >
> >
> >
> >
> >
> >
> >
> > --
> > 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
-~----------~----~----~----~------~----~------~--~---

Responder a