0

我已经用 EntLib 配置了一组接口实现。统一块。一运行应用程序,实现类的构造函数就可以正常工作:1.要实现的接口 实现接口

当我运行应用程序时,cctor 运行良好,这表明统一解析是成功的: 统一解析成功

但是当我尝试调用这个类的方法时,代码只是通过而没有实际调用实现类的函数: 没有调用实现

编辑:2012 年 6 月 11 日添加以下是我拥有的 Unity 配置。(这是我正在做的所有统一配置)

 public class UnityControllerFactory : DefaultControllerFactory
{
    private static readonly IUnityContainer container;
    private static UnityControllerFactory factory = null;

    static UnityControllerFactory()
    {
        container = new UnityContainer();
        UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
        section.Configure(container);
        factory = new UnityControllerFactory();
    }

    public static UnityControllerFactory GetControllerFactory()
    {
        return factory;
    }

    protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
    {
        return container.Resolve(controllerType) as IController;
    }
}

我无法进入此代码,并且实现只是跳过而不执行任何操作。这里有什么问题?

4

2 回答 2

0

当调试器在断点处停止时,右键单击该行并选择“单步执行”,然后选择您要单步执行的方法。

这个类/方法是否在另一个程序集中(不是另一个项目)?可能没有加载这个类的源代码(或者调试符号没有正确刷新,如果是这种情况,重新启动 VS 可能会修复它。),所以调试器跳过它。该方法也可能用 装饰DebuggerStepThroughAttribute,这会导致调试器跳过它。

于 2012-06-10T18:07:24.160 回答
0

实际的问题在于一个 yield 语句,它在解析结果之前不会进入代码。

于 2012-06-24T09:10:56.327 回答