Disposing sessions correctly

This commit is contained in:
Sebastien Ros
2014-01-30 16:58:58 -08:00
parent cddd90e2f3
commit 047ecd7109

View File

@@ -99,6 +99,12 @@ namespace Orchard.Data {
_cancelled = false;
}
}
if (_session != null) {
_session.Dispose();
_session = null;
}
}
private void EnsureSession() {
@@ -114,7 +120,6 @@ namespace Orchard.Data {
class OrchardSessionInterceptor : IInterceptor {
private readonly ISessionInterceptor[] _interceptors;
private readonly ILogger _logger;
private ISession _session;
public OrchardSessionInterceptor(ISessionInterceptor[] interceptors, ILogger logger) {
_interceptors = interceptors;
@@ -236,8 +241,6 @@ namespace Orchard.Data {
}
void IInterceptor.SetSession(ISession session) {
_session = session;
if (_interceptors.Length == 0) return;
_interceptors.Invoke(i => i.SetSession(session), _logger);
}