diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreator.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreator.cs
index fb9969dd..66b8a6cd 100644
--- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreator.cs
+++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreator.cs
@@ -244,11 +244,15 @@ namespace Spring.Aop.Framework.AutoProxy
}
///
- /// Extension hook that subclasses can override to register additional advisors,
+ /// Extension hook that subclasses can override to add additional advisors for the given object,
/// given the sorted advisors obtained to date.
/// The default implementation does nothing.
/// Typically used to add advisors that expose contextual information required by some of the later advisors.
///
+ ///
+ /// The advisor list passed into this method is already reduced to advisors applying to this particular object.
+ /// If you want to register additional common advisor candidates, override .
+ ///
/// Advisors that have already been identified as applying to a given object
/// the type of the object to be advised
/// the name of the object to be advised
diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/ObjectFactoryAdvisorRetrievalHelper.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/ObjectFactoryAdvisorRetrievalHelper.cs
index 4597be73..0208e491 100644
--- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/ObjectFactoryAdvisorRetrievalHelper.cs
+++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/ObjectFactoryAdvisorRetrievalHelper.cs
@@ -165,8 +165,12 @@ namespace Spring.Aop.Framework.AutoProxy
/// the name of the object to be advised
protected virtual bool IsEligibleObject(string advisorName, Type objectType, string objectName )
{
- return this.ObjectFactory.ContainsObjectDefinition(advisorName)
- && this.ObjectFactory.GetObjectDefinition(advisorName).Role != ObjectRole.ROLE_INFRASTRUCTURE;
+ bool containsObjectDefinition = this.ObjectFactory.ContainsObjectDefinition(advisorName);
+ if (containsObjectDefinition)
+ {
+ return this.ObjectFactory.GetObjectDefinition(advisorName).Role != ObjectRole.ROLE_INFRASTRUCTURE;
+ }
+ return this.ObjectFactory.ContainsObject(advisorName);
}
}
}
\ No newline at end of file