Thanks Jason and Oskar for your replies.

I agree with your suggestion about error logging, by the way the code
that you see in not the actual code in terms of error logging.
The mappings are correct because the unit test works fine.
Apparently this error was related to the user account that run the
service:
http://groups.google.ca/group/fluent-nhibernate/browse_thread/thread/bafd5dddea909eb?hl=en

thanks.

On Oct 15, 6:35 am, Jason Meckley <[email protected]> wrote:
> your try/catch is useless. you loose the entire stack trace by
> throwing a new exception without including the original exception.
> that, and you are just forwarding the message along. either put
> logging in place here, or remove the try/catch all together.
>
> as for the configuration issue. either your mappings are incorrect, or
> the server may be missing referenced dlls.
>
> On Oct 15, 3:08 am, Oskar Berggren <[email protected]> wrote:
>
>
>
> > The formatting is getting mucked up in the mail, but there appears to
> > be a ThreadAbortException as the innermost exception... Seems weird.
> > Does it happen every time the timer triggers?
>
> > /Oskar
>
> > 2010/10/15 Sacha <[email protected]>:
>
> > > I have a Windows service which has a timer and in the timer_Elapsed
> > > event handler a method from another component will be called which is
> > > supposed to look into db and read or update some records.
> > > The timer Elapsed event is getting fired every 2 minutes.I used
> > > nhibernate for data access and all the nhibernate and db related
> > > configuration code is done in the component and windows service has a
> > > reference to the component.When I run the method from unit test it is
> > > working fine which means the configurations and mappings are correct,
> > > but from windows service I get this exception:
>
> > >    FluentNHibernate.Cfg.FluentConfigurationException was caught
> > >      Message="An invalid or incomplete configuration was used while
> > > creating a SessionFactory. Check PotentialReasons collection, and
> > > InnerException for more detail.\r\n\r\n"
> > >      Source="FluentNHibernate"
> > >      StackTrace:
> > >           at
> > > FluentNHibernate.Cfg.FluentConfiguration.BuildConfiguration() in d:
> > > \Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs:line
> > > 121
> > >     InnerException: NHibernate.MappingException
> > >           Message="Could not configure datastore from input stream
> > > (XmlDocument)"
> > >           Source="NHibernate"
> > >           StackTrace:
> > >                at NHibernate.Cfg.Configuration.LogAndThrow(Exception
> > > exception)
> > >                at NHibernate.Cfg.Configuration.AddInputStream(Stream
> > > xmlInputStream, String name)
> > >                at
> > > NHibernate.Cfg.Configuration.AddDocument(XmlDocument doc, String name)
> > >                at
> > > NHibernate.Cfg.Configuration.AddDocument(XmlDocument doc)
> > >                at
> > > FluentNHibernate.PersistenceModel.Configure(Configuration cfg) in d:
> > > \Builds\FluentNH\src\FluentNHibernate\PersistenceModel.cs:line 265
> > >                at
> > > FluentNHibernate.Cfg.FluentMappingsContainer.Apply(Configuration cfg)
> > > in d:\Builds\FluentNH\src\FluentNHibernate\Cfg
> > > \FluentMappingsContainer.cs:line 141
> > >                at
> > > FluentNHibernate.Cfg.MappingConfiguration.Apply(Configuration cfg) in
> > > d:\Builds\FluentNH\src\FluentNHibernate\Cfg
> > > \MappingConfiguration.cs:line 64
> > >                at
> > > FluentNHibernate.Cfg.FluentConfiguration.BuildConfiguration() in d:
> > > \Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs:line
> > > 112
> > >           InnerException: System.TypeInitializationException
> > >                Message="The type initializer for
> > > 'NHibernate.Util.TypeNameParser' threw an exception."
> > >                Source="NHibernate"
> > >                TypeName="NHibernate.Util.TypeNameParser"
> > >                StackTrace:
> > >                     at NHibernate.Util.TypeNameParser.Parse(String
> > > type, String defaultNamespace, String defaultAssembly)
> > >                     at
> > > NHibernate.Cfg.ClassExtractor.ClassEntry..ctor(String extends, String
> > > className, String entityName, String assembly, String namespace)
> > >                     at
> > > NHibernate.Cfg.ClassExtractor.GetClassEntries(XmlDocument document)
> > >                     at
> > > NHibernate.Cfg.MappingsQueue.AddDocument(NamedXmlDocument document)
> > >                     at
> > > NHibernate.Cfg.Configuration.AddDocumentThroughQueue(NamedXmlDocument
> > > document)
> > >                     at
> > > NHibernate.Cfg.Configuration.AddXmlReader(XmlReader hbmReader, String
> > > name)
> > >                     at
> > > NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream,
> > > String name)
> > >                InnerException: System.Threading.ThreadAbortException
> > >                     Message="Exception of type
> > > 'System.Threading.ThreadAbortException' was thrown."
> > >                     InnerException:
>
> > > Here is the code I have in the service :
>
> > >       public InitiatorService()
> > >        {
> > >            InitializeComponent();
> > >        }
>
> > >        protected override void OnStart(string[] args)
> > >        {
> > >            timer1.Enabled = true;
> > >        }
>
> > >        protected override void OnStop()
> > >        {
> > >        }
> > >    private void timer1_Elapsed(object sender,
> > > System.Timers.ElapsedEventArgs e)
> > >        {
> > >            lock (processLock)
> > >            {
> > >                DoWorkComponent component= new DoWorkComponent ();
> > >                component.DoWorkMethod();
> > >            }
> > >        }
>
> > > In the DoWorkComponent :
>
> > > public void DoWorkMethod()
> > >        {
> > >            try
> > >            {
> > >               ISession session =GetSession();
> > >                ITransaction transaction = session.BeginTransaction();
>
> > >                //code to do actions
>
> > >                 session.Flush();
> > >                 transaction.Commit();
> > >                 session.Close();            }
> > >            catch (Exception ex)
> > >            {
> > >                throw new InvalidOperationException(ex.Message);
> > >            }
> > > }
>
> > > Please let me know if this is a correct practice and how I can fix
> > > this problem.
>
> > > The nhibernate version I am using is 2.1.2.4000 and I set CallContext
> > > to thread_static.
>
> > > Thanks in Advance,
>
> > > Sacha
>
> > > --
> > > 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 
> > > athttp://groups.google.com/group/nhusers?hl=en.- 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.

Reply via email to