unity-interception

    0熱度

    1回答

    我有一個應用程序,它有一個基類和從它的派生類,每個實現類有自己的接口。我想使用Unity的攔截來處理派生類型的基類的異常處理。 我是新來攔截,所以我不知道所有的怪癖。據我所知,我必須註冊每個實施解決方案的攔截。關鍵是我的所有實現都有一個基類,所以我認爲我可以跳過冗餘並僅在基類上設置攔截,這將在每個實現類上觸發。 這是我的設置: public class NotificationViewModel

    3熱度

    2回答

    Unity似乎提供了2種不同的途徑來實現AoP功能。 問題是爲什麼?有什麼區別?每種方法的優缺點是什麼? 例如使用ICallHandler: unity.Configure<Interception>() .AddMatchingRule( new TypeMatchingRule(typeof (ComplexEntity)) ).AddMatchingRule

    3熱度

    2回答

    我想了解如何在Unity中使用調用處理程序。下面的代碼我到目前爲止: void Main() { var container = new UnityContainer(); container.AddNewExtension<Interception>() .Configure<Interception>() .AddPolicy("TestPol

    1熱度

    1回答

    使用Unity(3.0)攔截來添加一些橫切關注到我的應用程序。不知怎的,我不能在我的配置收到此錯誤信息使用MethodSignatureMatchingRule: {"The type name or alias MethodSignatureMatchingRule could not be resolved. Please check your configuration file and v

    0熱度

    1回答

    我有很多我想要添加日誌記錄的代碼。我的計劃是使用Unity或Castle.Windsor創建攔截日誌記錄例程,並使用自定義C#屬性將其添加到現有代碼中。我無法更改現有的代碼結構(但我可以向其添加啓動配置,因此容器註冊方法可以)。 這看起來不可能在不改變調用結構的情況下(讓截獲的類需要改變實例化來使用註冊的依賴注入),所以我試着使用Castle.Windsor。這個代碼我沒有觸發攔截例程。 這給了我

    1熱度

    1回答

    我有Unity設置來攔截方法調用,當方法用特定屬性修飾時。我希望所有的Unity代理對象在每個線程中保持不變(而不是暫時的)。 問題是裝飾屬性創建的對象每次都創建爲「新」。我看不到從屬性內部訪問UnityContainer的方法。如果可以的話,我會創建LogHandler作爲每線程實體並通過Unity請求它。 (這甚至有意義嗎?使用Unity來解析在統一攔截中使用的對象?)。 如果你運行這個代碼,

    0熱度

    1回答

    我有一個應用程序使用統一固件來解決對象。 我也做了一些變化框架並且可以作爲「新的變化」 包裝類看起來像 public static class ContractResolver { public static T Resolve<T>() //This is been used in many places in application { IUnityCo

    0熱度

    1回答

    我在Unity v2.1的我的Inteception管道中使用了3個屬性。一切正常,他們只是在錯誤的順序。 在所有3個屬性中,我已經確定我從屬性傳遞了相應的Handler Order。 因此,如果我在下面的TestClass.TestProperty上調用setter,我期望應按以下順序調用調用處理程序:Validation,Transaction,Notify。我所看到的是通知,交易,驗證。 我

    3熱度

    1回答

    在我的方法拋出一個異常時,我得到了與統一攔截的問題。請從我的樣本應用程序,如下參考: class Program { static void Main(string[] args) { var container = new UnityContainer(); container.RegisterType<IInterface1, Implementa

    0熱度

    1回答

    我有以下情形: public interface IFoo { } public interface IFoo3 { } public class Foo4 : IFoo3 { } public class Foo1 : IFoo { } public class Foo2 : IFoo { Foo2 (IFoo object1, IFoo3 object2) }