Fix too aggressive caching of loaded extensions

--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-12-13 11:36:09 -08:00
parent e4243412d1
commit e9e4e71d00

View File

@@ -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) {