One other thing, I tried changing everything to use SessionFactory instead. I did get it to work that way, but I still get a SqlConnection timeout on the first one or two times.
The common denominator seems to be trying to get a connection from the connection pool, and it times out. So this would be the connection pool not releasing connections perhaps? StructureMap.StructureMapException: StructureMap Exception Code: 207 Internal exception while creating Instance '9360c833-67df-4b49-b5e2- fa7d69247197' of PluginType FluentNHibernate.ISessionSource, FluentNHibernate, Version=1.0.0.593, Culture=neutral, PublicKeyToken=8aa435e3cb308880. Check the inner exception for more details. ---> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at NHibernate.Connection.DriverConnectionProvider.GetConnection() at NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare() at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(Dialect dialect, IConnectionHelper connectionHelper) at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory sessionFactory) at NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg, IMapping mapping, Settings settings, EventListeners listeners) at NHibernate.Cfg.Configuration.BuildSessionFactory() at FluentNHibernate.SessionSource.Initialize(Configuration nhibernateConfig, PersistenceModel model) in d:\Builds\FluentNH\src \FluentNHibernate\SessionSource.cs:line 47 at FluentNHibernate.SessionSource..ctor(IDictionary`2 properties, PersistenceModel model) in d:\Builds\FluentNH\src\FluentNHibernate \SessionSource.cs:line 30 at SAAM.Data.FluentNHibernate.SessionSourceConfiguration.CreateSessionSource(PersistenceModel model) in C:\eTouch\SAAM\src\SAAM.Data\FluentNHibernate \SessionSourceConfiguration.cs:line 42 at SAAM.Website.Bootstrapper.<BootstrapStructureMap>b__2(IContext context) in C:\eTouch\SAAM\src\SAAM.Website\Bootstrapper.cs:line 170 at StructureMap.Pipeline.ConstructorInstance`1.build(Type pluginType, BuildSession session) On Feb 19, 10:06 am, Beefy <[email protected]> wrote: > I'm including my stack track so you can see exactly what calls are > being made... > > I think this is due to me using the SessionSource... I have a > UnitOfWork setup remarkably like FubuMVC-Contrib's I have come to find > out:http://code.google.com/p/fubumvc-contrib/source/browse/trunk/samples/... > > The error is occurring when I am creating a new SessionSource, which > is then consumed by my UnitOfWork. Creating a SessionSource appears to > be triggering a SqlConnection.Open. > > I'm assuming I missed something along the way that said not to do this > (with SessionSource) and to do it with SessionFactory... > > StructureMap.StructureMapException: StructureMap Exception Code: 207 > Internal exception while creating Instance 'd3432015-2b17-4265-8ea6- > bde8a68de0e7' of PluginType FluentNHibernate.ISessionSource, > FluentNHibernate, Version=1.0.0.593, Culture=neutral, > PublicKeyToken=8aa435e3cb308880. Check the inner exception for more > details. ---> System.Data.SqlClient.SqlException:Timeoutexpired. > Thetimeoutperiod elapsed prior to completion of the operation or the > server is not responding. > at > System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection > owningObject) > at > System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection > owningConnection) > at > System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection > outerConnection, DbConnectionFactory connectionFactory) > at System.Data.SqlClient.SqlConnection.Open() > at NHibernate.Connection.DriverConnectionProvider.GetConnection() > at > NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare() > at > NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(Dialect > dialect, IConnectionHelper connectionHelper) > at > NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory > sessionFactory) > at NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg, > IMapping mapping, Settings settings, EventListeners listeners) > at NHibernate.Cfg.Configuration.BuildSessionFactory() > at FluentNHibernate.SessionSource.Initialize(Configuration > nhibernateConfig, PersistenceModel model) in d:\Builds\FluentNH\src > \FluentNHibernate\SessionSource.cs:line 47 > at FluentNHibernate.SessionSource..ctor(IDictionary`2 properties, > PersistenceModel model) in d:\Builds\FluentNH\src\FluentNHibernate > \SessionSource.cs:line 30 > at > SAAM.Data.FluentNHibernate.SessionSourceConfiguration.CreateSessionSource(PersistenceModel > model) in C:\eTouch\SAAM\src\SAAM.Data\FluentNHibernate > \SessionSourceConfiguration.cs:line 42 > at SAAM.Website.Bootstrapper.<BootstrapStructureMap>b__2(IContext > context) in C:\eTouch\SAAM\src\SAAM.Website\Bootstrapper.cs:line 170 > at StructureMap.Pipeline.ConstructorInstance`1.build(Type > pluginType, BuildSession session) > > On Feb 13, 4:21 pm, Beefy <[email protected]> wrote: > > > Well, StructureMap is building an ISessionSource instance actually... > > > Then my module, on BeginRequest, calls gets an instance of an > > encapsulating class I use called NHibernateUnitOfWork, and calls an > > initialize function that calls CreateSession on the SessionSource and > > manages the transactions per request to it. The way I'm reading this, > > a session shouldn't ever be instantiated until the Request is made... > > which may be the case... this error may actually be StructureMap > > catching theSQLtimeoutexception from the ISessionSource timing out > > when trying to create the session at CreateSession().... Such sessions > > should always be disposed at the end of a request though... > > > Again, this only occurs when I rebuild the application, and then only > > the first few times I try to hit it... I'm leaning toward there being > > a hanging connection to theSQLserver that's tied to the old build, > > and the new one has to wait until that hanging connection times out > > before it will allow the new one to make a connection... I'm just not > > sure why it would be hanging from my current setup... and I don't know > > where to look to figure this out. > > > / Michael / > > > On Feb 13, 3:26 pm, Jason Meckley <[email protected]> wrote: > > > > you setup the session or session factory in application start? you > > > should be creating the session factory in the application start. > > > sessions should be scoped to each request which can be managed by the > > > http module. > > > Are you issuing any queries on application start? if so are they > > > efficient queries? how much data is being retrieved? > > > > On Feb 13, 12:16 pm, Beefy <[email protected]> wrote: > > > > > I have a web app that uses Fluent NHibernate and StructureMap for IoC. > > > > I have an issue where upon some builds of the app, the first few times > > > > I hit the web site I will get aSQLconnectiontimeouterror. After > > > > those first two or three times, everything is fine. The ISession is > > > > being setup by StructureMap at Application_Start time. I then have an > > > > HttpModule that handles all session commits, etc. The build seems to > > > > (sometimes, not all times) trigger a hanging connection or something > > > > that has to time out before the new build of the web app can establish > > > > a connection. > > > > > Does anyone have a minute to shed some light on my issue for me so > > > > that I can avoid this problem on new deployments of the app in the > > > > future? > > > > > / Michael / -- 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.
