2009-08-13 2 views
3

ПРИМЕЧАНИЕ. Я также разместил это на сайтах Google.Сессионная фабрика уже настроена с ключом nhibernate.current_session

Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения более информации об ошибке и ее месте в коде.

Сведения об исключении: SharpArch.Core.PreconditionException: Сеанс завод уже настроен с ключом nhibernate.current_session

Источник ошибки:

Линия 49: base.Init(); Линия 50: Линия 51: NHibernateSession.Init (новый WebSessionStorage (это), Строка 52: новая строка [] {Server.MapPath ("~/бен/ GCBA.Data.dll")}); Линия 53:}

Исходный файл: C: \ Users \ Matt \ Desktop \ Matt \ GCBA \ GCBA \ GCBA.Web \ Global.asax.cs Line: 51

трассировки стека:

[PreconditionException: сеанс завод уже настроен с ключом nhibernate.current_session]

SharpArch.Core.Check.Require (Boolean утверждение, String сообщение) в C: \ MyStuff \ Projects \ SharpArchitecture \ SRC \ SharpArch \ SharpArch.Core \ DesignByContract.cs: 62

SharpArch.Data.NHibernate.NHibernateSession.Init (ISessionStorage хранения, String [] mappingAssemblies, AutoPersistenceModel autoPersistenceModel, Строка cfgFile, IDictionary`2 cfgProperties, Строка validatorCfgFile, IPersistenceConfigurer persistenceConfigurer) в C: \ MyStuff \ Проекты \ SharpArchitecture \ SRC \ SharpArch \ SharpArch.Data \ NHibernate \ NHibernateSession.cs: 70

SharpArch.Data.NHibernate.NHibernateSession.Init (ISessionStorage хранения, String []) в mappingAssemblies C: \ MyStuff \ Projects \ SharpArch itecture \ SRC \ SharpArch \ SharpArch.Data \ NHibernate \ NHibernateSession.cs: 26

GCBA.Web.MvcApplication.Init() в C: \ Users \ Matt \ Desktop \ Matt \ GCBA \ GCBA \ GCBA. Web \ Global.asax.cs: 51

System.Web.HttpApplication.InitInternal (HttpContext контекст, HttpApplicationState состояние, MethodInfo [] обработчики) +335


Это ошибка я получаю пытается бежать от IIS7 ... Я могу нормально работать кажется из VS2008 Кассини .... Так что я не уверен, что проблема есть, у меня есть сборка 7/16/2009 для сборки S # arp и MVC.Net 1.0. Код ошибки не работает в методе global.asax.cs Init() .Я действительно очень расстроен этой проблемой, потому что у меня есть , но нашел еще одно сообщение, касающееся этого, и это было в тестовых случаях , где мой на самом деле пытается запустить сайт с iis7 и все мои тесты проходят нормально.

Если кто-нибудь знает, что может быть причиной этой проблемы, это будет отлично, спасибо.

ответ

0

Похоже, что IIS7 неправильно настроен для ASP.NET MVC. See if this post on SO поможет вам настроить IIS7 с помощью ASP.NET MVC. Я также использую SharpArchitecture и после запуска IIS7 в «интегрированном» режиме, решил множество проблем.

1

У меня недавно была такая же проблема. Я использовал арку S # arp, но использовал обычный проект веб-сайта asp.net (интегрированный в cms). Вся проблема для меня заключалась в том, что Global.asax не запускается по неизвестным типам файлов или виртуальным URL-адресам. Я решил это, написав свой собственный HttpModule и загрузив его отдельно, это имеет побочный эффект, который инициирует NHibernate, даже если кто-то только извлекает изображение. но для меня это не проблема.

Надеется, что ставит вас в правильном направлении ...

+0

Как именно вы это делаете? – rebelliard

0

Возможно проблема многопоточности?

Вы пробовали что-то подобное в вашем приложении инициализации:

private static bool haveInit 
if (!haveInit) 
{ 
    lock (@lock) 
    { 
     if (!haveInit)) 
     { 
      NHibernateSession.Init(...); 
      haveInit = true; 
     } 
    } 
} 
Смежные вопросы