Advertisement
Guest User

Untitled

a guest
Feb 5th, 2014
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.79 KB | None | 0 0
  1. [[NHibernate.Util.ADOExceptionReporter]] : System.InvalidOperationException: There is already an open DataReader associated with this Command which must be closed first.
  2. at System.Data.SqlClient.SqlInternalConnectionTds.ValidateConnectionForExecute(SqlCommand command)
  3.  
  4. [[NHibernate.Transaction.AdoTransaction]] : Begin transaction failed
  5. System.Data.SqlClient.SqlException (0x80131904): The server failed to resume the transaction. Desc:3b00000006.
  6.  
  7. [[NHibernate.Transaction.AdoTransaction]] : Commit failed
  8. System.NullReferenceException: Object reference not set to an instance of an object.
  9.  
  10. [[NHibernate.Transaction.AdoTransaction]] : Commit failed
  11. System.Data.SqlClient.SqlException (0x80131904): The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.
  12.  
  13. [[NHibernate.Util.ADOExceptionReporter]] : System.InvalidOperationException: The transaction is either not associated with the current connection or has been completed.
  14. at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)
  15.  
  16. [[NHibernate.Transaction.AdoTransaction]] : Begin transaction failed
  17. System.InvalidOperationException: SqlConnection does not support parallel transactions.
  18.  
  19. protected void Application_Start()
  20. {
  21. AreaRegistration.RegisterAllAreas();
  22. HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize();
  23. RegisterGlobalFilters(GlobalFilters.Filters);
  24. RegisterRoutes(RouteTable.Routes);
  25. _sessionFactory = (new WebClientSessionManager()).MakeSessionFactory();
  26. _sessionFactoryNotWeb = ClientSessionManager.MakeSessionFactory();
  27. }
  28. protected void Application_BeginRequest(object sender, EventArgs e)
  29. {
  30. _session = _sessionFactory.OpenSession();
  31. _sessionNotWeb = _sessionFactoryNotWeb.OpenSession();
  32. CurrentSessionContext.Bind(_sessionNotWeb);
  33. CurrentSessionContext.Bind(_session);
  34. _session.BeginTransaction();
  35. _sessionNotWeb.BeginTransaction();
  36. }
  37. protected void Application_EndRequest(object sender, EventArgs e)
  38. {
  39. //Same code is repeated for the _sessionFactoryNotWeb
  40. ISession session = CurrentSessionContext.Unbind(_sessionFactory);
  41. if (session != null)
  42. {
  43. if (session.Transaction.IsActive)
  44. {
  45. try
  46. {
  47. session.Transaction.Commit();
  48. }
  49. catch
  50. {
  51. session.Transaction.Rollback();
  52. }
  53. }
  54. try
  55. {
  56. session.Dispose();
  57. }
  58. catch
  59. {
  60.  
  61. }
  62. }
  63.  
  64. public static ISession WebSession()
  65. {
  66. if (CurrentSessionContext.HasBind(MvcApplication._sessionFactory))
  67. {
  68. if (MvcApplication._sessionFactory.GetCurrentSession().IsOpen)
  69. {
  70. return MvcApplication._sessionFactory.GetCurrentSession();
  71. }
  72. else
  73. {
  74. log4net.LogManager.GetLogger(typeof(DBHandler)).Debug("Unbinding NHibernate session");
  75. CurrentSessionContext.Unbind(MvcApplication._sessionFactory);
  76. return WebSession();
  77. }
  78. }
  79. else
  80. {
  81. log4net.LogManager.GetLogger(typeof(DBHandler)).Debug("Initialising NHibernate session");
  82. var session = MvcApplication._sessionFactory.OpenSession();
  83. CurrentSessionContext.Bind(session);
  84. session.BeginTransaction();
  85. return session;
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement