0
Castle Windsor 2.5。這失敗了。爲什麼?它是指定的行爲還是錯誤?似乎在解析頂級服務時甚至不會查詢子依賴關係解析器。Castle Windsor + ISubDependencyResolver:奇怪的問題
class Program
{
class Resolver :ISubDependencyResolver
{
public object Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)
{
return new Program();
}
public bool CanResolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)
{
return dependency.TargetType == typeof (Program);
}
}
[STAThread]
static void Main()
{
var container = new WindsorContainer();
container.Kernel.Resolver.AddSubResolver(new Resolver());
var xxx = container.Resolve<Program>();
}
}
問題實際解決(使用UsingFactoryMethod代替ISubDependencyResolver) 我有會話解析器在我的MVC控制器中注入NHibernate會話。但後來我想實現一個實用程序來將依賴關係(例如會話)注入到我的動作過濾器中。這需要直接解決,因爲我確實像在那裏的InjectProperties。 – 2010-09-13 19:01:23