Here is a useful utility class for inspecting the contents of the Windsor container:
public class WindsorContainerInspector
{
private readonly IWindsorContainer _container;
public WindsorContainerInspector(IWindsorContainer container)
{
_container = container;
}
public IList> ListDependencies()
{
var dependencies = new List>();
foreach (var node in _container.Kernel.GraphNodes)
{
ComponentModel dependingNode = (ComponentModel) node;
foreach (GraphNode depender in node.Dependents)
{
var dependerNode = (ComponentModel)depender;
dependencies.Add(new KeyValuePair(
dependingNode,
dependerNode));
}
}
return dependencies;
}
}