0

我已經使用EntLib配置了一組接口實現。統一塊。 1.接口來實現 Interface to implement無法進入由unity應用程序塊配置的接口實現

當我運行cctor運行正常的應用程序,這表明,統一的分辨率是成功的:實現類的構造函數,只要我運行應用程序正常工作 Unity Resolution success

但是,當我嘗試調用這個類的方法,代碼只是通過,而無需實際調用實現類的功能: Implementation does not get called

編輯︰添加於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; 
    } 
} 

我不能踏進這個代碼和實施只是簡單地忽略了不執行任何操作。這裏有什麼問題?

+2

如果代碼被完全跳過,這可能表示您需要刷新您的dll。嘗試清理解決方案文件並重建它。如果不是這樣,調試時使用'F11'而不是'F10' – Jupaol

+0

我已經試過清洗解決方案並使用F11 – Rahul

+0

當調試器停在斷點處時,右鍵單擊行並選擇「step into具體「,然後選擇你想要進入的方法。 –

回答

0

實際問題出現在yield語句中,直到解析結果才進入代碼。

0

當調試器在中斷點停止時,右鍵單擊該行並選擇「step into specific」,然後選擇您希望步入的方法。

這個類/方法在另一個程序集(而不是另一個項目)中?它可能沒有加載這個類的源代碼(或者調試符號沒有被正確刷新,如果是這種情況,重新啓動VS可能會修復它),所以調試器會跳過它。此外,該方法可能會用DebuggerStepThroughAttribute進行修飾,導致調試器跳過它。

+0

感謝您的評論。當我嘗試進入特定的代碼時,我無法在代碼塊列表中找到接口實現,我只能看到它實現的接口方法。這裏有什麼可能是錯的? – Rahul