I am not new to NH or the way lazy load works. I work in a group of 6 developers and we have been working since new year with NH over WCF and Silverlight as the UI.
when I call var c = stypes.Any(); I can see from the unit test that NH is calling the databasen and that I have the corect data in all the DelayedEnumerator.result list. So it's not a lazy load problem. On Jul 26, 11:56 pm, "Erich Eichinger" <[email protected]> wrote: > how exactly do you expect a Future to work over a webservice with marshalling > in between? You should rethink your context boundaries - usually when > crossing an AppDomain boundary you should already have all data you need in > place and ready for marshalling them. Any form of lazy evaluation will hardly > work over the wire > > -Erich > > > > > -----Original Message----- > > From: [email protected] [mailto:[email protected]] On > > Behalf Of mhnyborg > > Sent: Sunday, July 26, 2009 11:41 PM > > To: nhusers > > Subject: [nhusers] Future<T> is not playing nice with web-services > > > First I love how easy it is to use Future<T> but I think it's only > > half baked. or put in another way only implemented for server side > > code that is not returning a list. > > > I have this code that's is returning a lot of simple catalogs for > > comboboxes > > > OperationContract] > > public CatalogsForSite GetCatalogsForSite() > > { > > CatalogsForSite catalogsForSite; > > using (var s = sessionManager.OpenSession()) > > { > > var stypes = s.CreateCriteria(typeof > > (ServitudeType)).Future<ServitudeType>(); > > var ptypes = s.CreateCriteria(typeof > > (ProtectionLineType)).Future<ProtectionLineType>(); > > var cSysTypes = s.CreateCriteria(typeof(CSys)).Future<CSys>(); > > var coordinatPrecissionTypes = s.CreateCriteria(typeof > > (CoordinatPrecissionType)).Future<CoordinatPrecissionType>(); > > var levelPrecissionTypes = s.CreateCriteria(typeof > > (LevelPrecissionType)).Future<LevelPrecissionType>(); > > var siteTypes = > > s.CreateCriteria(typeof(SiteType)).Future<SiteType> > > (); > > There is more .... > > > // this is done to make NH do the querys. DO this while the > > session > > is open > > var c = stypes.Any(); > > > catalogsForSite = new CatalogsForSite > > { > > StdNotes = stdNotes, > > SiteStatus = siteStatus, > > Phases = phases, > > ProbabilityTypes = probabilityTypes, > > SystemTypes = systemTypes, > > RevisionTypes = revisionTypes, > > EnvironmentClassifications = environmentClassifications, > > ProjectClassifications = projectClassifications, > > MilestoneHolidays = milestoneHolidays, > > There is more ... > > } > > > } > > > return catalogsForSite > > } > > > The problem is that Future<T> is returning > > NHibernate.Impl.DelayedEnumerator and that is not a type expected by > > the webservice. > > If the result on the DelayedEnumerator class was public then maybe I > > could use that. > > > Hope to get some help with this.- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---
