Служба Windows и Nhibernate - PullRequest
       2

Служба Windows и Nhibernate

0 голосов
/ 14 октября 2010

У меня есть служба Windows, у которой есть таймер, и в обработчике события timer_Elapsed будет вызван метод из другого компонента, который должен просматривать БД и получать или обновлять некоторые записи. Этот процесс будет происходить каждые 2 минуты. Я использовалnhibernate для доступа к данным в компоненте.Когда я запускаю метод из модульного теста, он работает нормально, что означает, что конфигурации и сопоставления верны, но из службы Windows я получаю следующее исключение:

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: 

Вот код в обработчике события timer_elapsed:

private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)


   {
        lock (processLock)
        {
            DoWorkComponent component= new DoWorkComponent ();
            component.DoWorkMethod();
        }
    }

Кто-нибудь знает, как это можно исправить?Нужно ли иметь разные настройки?

Заранее спасибо,

Саша

1 Ответ

0 голосов
/ 16 октября 2010

Проблема решена.Ошибка была связана с учетной записью пользователя, которая запускает службу:

http://groups.google.ca/group/fluent-nhibernate/browse_thread/thread/bafd5dddea909eb?hl=en

Спасибо, Саша

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...