0

EntLib を使用して一連のインターフェイス実装を構成しました。ユニティブロック。アプリケーションを実行するとすぐに、実装クラスのコンストラクターが正常に動作します。 1. 実装するインターフェイス 実装するインターフェース

アプリケーションを実行すると、cctor が正常に動作し、ユニティ解決が成功したことが示されます。 Unity 解決の成功

しかし、このクラスのメソッドを呼び出そうとすると、コードは実装されたクラスの関数を実際に呼び出さずに通過します。 実装が呼び出されない

編集: 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 に答える