mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Fixing memory leak
--HG-- branch : 1.x
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using NHibernate;
|
||||
using System;
|
||||
using NHibernate;
|
||||
using NHibernate.Cfg;
|
||||
using Orchard.Data.Providers;
|
||||
using Orchard.Environment;
|
||||
@@ -15,7 +16,8 @@ namespace Orchard.Data {
|
||||
SessionFactoryParameters GetSessionFactoryParameters();
|
||||
}
|
||||
|
||||
public class SessionFactoryHolder : ISessionFactoryHolder {
|
||||
public class SessionFactoryHolder : ISessionFactoryHolder, IDisposable
|
||||
{
|
||||
private readonly ShellSettings _shellSettings;
|
||||
private readonly ShellBlueprint _shellBlueprint;
|
||||
private readonly IHostEnvironment _hostEnvironment;
|
||||
@@ -47,6 +49,13 @@ namespace Orchard.Data {
|
||||
public Localizer T { get; set; }
|
||||
public ILogger Logger { get; set; }
|
||||
|
||||
public void Dispose() {
|
||||
if (_sessionFactory != null) {
|
||||
_sessionFactory.Dispose();
|
||||
_sessionFactory = null;
|
||||
}
|
||||
}
|
||||
|
||||
public ISessionFactory GetSessionFactory() {
|
||||
lock (this) {
|
||||
if (_sessionFactory == null) {
|
||||
|
||||
Reference in New Issue
Block a user