From e9e4e71d006ab6f018fbddf407b88bf7bb3ef1bc Mon Sep 17 00:00:00 2001 From: Renaud Paquay Date: Mon, 13 Dec 2010 11:36:09 -0800 Subject: [PATCH] Fix too aggressive caching of loaded extensions --HG-- branch : dev --- .../Environment/Extensions/ExtensionManager.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Orchard/Environment/Extensions/ExtensionManager.cs b/src/Orchard/Environment/Extensions/ExtensionManager.cs index 0aeea280c..72e9f6b22 100644 --- a/src/Orchard/Environment/Extensions/ExtensionManager.cs +++ b/src/Orchard/Environment/Extensions/ExtensionManager.cs @@ -80,9 +80,18 @@ namespace Orchard.Environment.Extensions { ExtensionEntry extensionEntry; try { - extensionEntry = _cacheManager.Get(extensionId, ctx => BuildEntry(extensionDescriptor)); + extensionEntry = _cacheManager.Get(extensionId, ctx => { + var entry = BuildEntry(extensionDescriptor); + if (entry != null) { + foreach (var loader in _loaders) { + loader.Monitor(entry.Descriptor, (token) => ctx.Monitor(token)); + } + } + return entry; + }); } catch (Exception ex) { + Logger.Error(ex, "Error loading extension '{0}'", extensionId); throw new OrchardException(T("Error while loading extension '{0}'.", extensionId), ex); } if (extensionEntry == null) {