Podes usar WLW y hacer compy&paste del HTML

El 25 de abril de 2009 19:49, "José F. Romaniello"
<[email protected]>escribió:

>
> Esta hecho, ahi va mi granito de arena :
>
>
> http://nhforge.org/wikis/howtonh/setup-nhv-fluently-with-your-ioc-container.aspx
> (se aceptan criticas, me costo un poco el coloriado de código )
>
>
> Fabio Maulo escribió:
> > Que buenas ideas.
> > Podría por favor escribir un wiki con todas tus observaciones ?
> > Sería muy util a todos usuarios de NHV.
> >
> > El lugar para escribir un buen wiki de referencia, como te parezca mas
> > claro, es:
> > http://nhforge.org/wikis/validator/default.aspx
> >
> > Tabien está el How To:
> > http://nhforge.org/wikis/howtonh/default.aspx
> >
> >
> > El 24 de abril de 2009 23:53, "José F. Romaniello"
> > <[email protected] <mailto:[email protected]>> escribió:
> >
> >
> >     Ok, ya sabía como resolver un servicio con el container :S ..
> >     Lo que me hacía falta era el otro lado de la igual (osea lo que
> >     concierne a NHV) es decir, pone el shared engine en:
> >     NHibernate.Validator.Cfg.Environment.SharedEngineProvider
> >     como dice en uno de tus post.
> >
> >     Es probable que tenga algo mal pero esto es a lo que llegué:
> >
> >               var ve = new ValidatorEngine();
> >
> >                container.Register(Component.For<ValidatorEngine>()
> >                                    .Instance(ve)
> >                                    .LifeStyle.Singleton);
> >
> >                container.Register(Component.For<ISharedEngineProvider>()
> >                            .ImplementedBy<CastleSharedEngineProvider>());
> >
> >                NHibernate.Validator.Cfg.Environment.SharedEngineProvider
> =
> >                            container.Resolve<ISharedEngineProvider>();
> >
> >
> >                var configure = new FluentConfiguration();
> >
> >                configure.Register(
> >                    Assembly.Load("SGF.Dominio")
> >                            .ValidationDefinitions()
> >                    )
> >                    .SetDefaultValidatorMode(ValidatorMode.UseAttribute)
> >
> >
> .IntegrateWithNHibernate.ApplyingDDLConstraints().And.RegisteringListeners();
> >
> >                ve.Configure(configure);
> >
> >     Algo que no podía darme cuenta, era como decirle a NHV que altere la
> >     configuración de NH para aplicar las constraints ddl y registrar los
> >     listeners..
> >     Explorando un poco el código de NHV llegue a esto
> >     ValidatorInitializer.Initialize(miConfigDeNH)
> >
> >     IMO: Hice varias busquedas en google y creo que no esta muy
> >     "googleable"
> >     (salvo medio escondido un post de Marek Blotny). Creo que el post de
> >     referencia para nhibernate validator fluent es el de Fabio y no
> >     menciona
> >     nada sobre el ValidatorInitializar.Initialize.
> >     Si bien son dos cosas diferentes alguien podría tener la falsa
> >     impresión
> >     de que con esto:
> >
> "IntegrateWithNHibernate.ApplyingDDLConstraints().And.RegisteringListeners()"
> >     ya esta.
> >     IMO2: Le falta un buen summary, como lo tienen la mayoría de las
> otras
> >     clases.
> >
> >
> >     Fabio Maulo escribió:
> >     > El 24 de abril de 2009 15:00, "José F. Romaniello"
> >     > <[email protected] <mailto:[email protected]>
> >     <mailto:[email protected] <mailto:[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]>
> >     <mailto:[email protected] <mailto:[email protected]>>
> >     >     <mailto:[email protected]
> >     <mailto:[email protected]> <mailto:[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]
> >>
> >     >     >     <mailto:[email protected]
> >     <mailto:[email protected]> <mailto:[email protected]
> >     <mailto:[email protected]>>>
> >     >     >     > <mailto:[email protected]
> >     <mailto:[email protected]>
> >     >     <mailto:[email protected]
> >     <mailto:[email protected]>> <mailto:[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]>>
> >     >     <mailto:[email protected]
> >     <mailto:[email protected]>
> >     >     <mailto:[email protected]
> >     <mailto:[email protected]>>>
> >     >     >     >     <mailto:[email protected]
> >     <mailto:[email protected]>
> >     >     <mailto:[email protected]
> >     <mailto:[email protected]>>
> >     >     >     <mailto:[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]>>
> >     >     >     <mailto:[email protected]
> >     <mailto:[email protected]> <mailto:[email protected]
> >     <mailto:[email protected]>>>
> >     >     >     >     <mailto:[email protected]
> >     <mailto:[email protected]>
> >     >     <mailto:[email protected] <mailto:[email protected]>>
> >     <mailto:[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>
> >     >     >     <http://darioquintana.com.ar>
> >     >     >     >     <http://darioquintana.com.ar>
> >     >     >     >
> >     >     >     >
> >     >     >     >
> >     >     >     >
> >     >     >     > --
> >     >     >     > Fabio Maulo
> >     >     >     >
> >     >     >     > >
> >     >     >
> >     >     >
> >     >     >
> >     >     >
> >     >     >
> >     >     >
> >     >     > --
> >     >     > Fabio Maulo
> >     >     >
> >     >     > >
> >     >
> >     >
> >     >
> >     >
> >     >
> >     >
> >     > --
> >     > 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