本文整理汇总了C#中Spring.Aop.Framework.ProxyFactory.AddInterface方法的典型用法代码示例。如果您正苦于以下问题:C# ProxyFactory.AddInterface方法的具体用法?C# ProxyFactory.AddInterface怎么用?C# ProxyFactory.AddInterface使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Spring.Aop.Framework.ProxyFactory
的用法示例。
在下文中一共展示了ProxyFactory.AddInterface方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AdvisedSupportListenerMethodsAreCalledAppropriately
public void AdvisedSupportListenerMethodsAreCalledAppropriately()
{
IAdvisedSupportListener listener = MockRepository.GenerateMock<IAdvisedSupportListener>();
ProxyFactory factory = new ProxyFactory(new TestObject());
factory.AddListener(listener);
// must fire the Activated callback...
factory.GetProxy();
// must fire the AdviceChanged callback...
factory.AddAdvice(new NopInterceptor());
// must fire the InterfacesChanged callback...
factory.AddInterface(typeof(ISerializable));
listener.AssertWasCalled(x => x.Activated(Arg<AdvisedSupport>.Is.NotNull));
listener.AssertWasCalled(x => x.AdviceChanged(Arg<AdvisedSupport>.Is.NotNull));
listener.AssertWasCalled(x => x.InterfacesChanged(Arg<AdvisedSupport>.Is.NotNull));
}
示例2: AdvisedSupportListenerMethodsAre_NOT_CalledIfProxyHasNotBeenCreated
public void AdvisedSupportListenerMethodsAre_NOT_CalledIfProxyHasNotBeenCreated()
{
IAdvisedSupportListener listener = MockRepository.GenerateMock<IAdvisedSupportListener>();
ProxyFactory factory = new ProxyFactory(new TestObject());
factory.AddListener(listener);
// must not fire the AdviceChanged callback...
factory.AddAdvice(new NopInterceptor());
// must not fire the InterfacesChanged callback...
factory.AddInterface(typeof(ISerializable));
listener.AssertWasNotCalled(x => x.AdviceChanged(Arg<AdvisedSupport>.Is.Anything));
listener.AssertWasNotCalled(x => x.InterfacesChanged(Arg<AdvisedSupport>.Is.Anything));
}
示例3: AddInterfaceWhenConfigurationIsFrozen
public void AddInterfaceWhenConfigurationIsFrozen()
{
ProxyFactory factory = new ProxyFactory();
factory.IsFrozen = true;
factory.AddInterface(typeof(ITestObject));
}
示例4: AddRepeatedInterface
public void AddRepeatedInterface()
{
ITimeStamped tst = new AnonymousClassTimeStamped(this);
ProxyFactory pf = new ProxyFactory(tst);
// We've already implicitly added this interface.
// This call should be ignored without error
pf.AddInterface(typeof(ITimeStamped));
// All cool
ITimeStamped ts = (ITimeStamped)pf.GetProxy();
}
示例5: AddInterfaceWhenConfigurationIsFrozen
public void AddInterfaceWhenConfigurationIsFrozen()
{
ProxyFactory factory = new ProxyFactory();
factory.IsFrozen = true;
Assert.Throws<AopConfigException>(() => factory.AddInterface(typeof(ITestObject)));
}
示例6: GetRequestHandler
private IRequestHandler GetRequestHandler()
{
if (this.requestHandler == null)
{
ProxyFactory proxyFactory = new ProxyFactory(this);
proxyFactory.AddInterface(typeof(IRequestHandler));
proxyFactory.AddIntroduction(new DefaultIntroductionAdvisor(new HttpRequestHandler()));
proxyFactory.ProxyTargetType = true;
this.requestHandler = proxyFactory.GetProxy() as IRequestHandler;
}
return this.requestHandler;
}
示例7: AdvisedSupportListenerMethodsAre_NOT_CalledIfProxyHasNotBeenCreated
public void AdvisedSupportListenerMethodsAre_NOT_CalledIfProxyHasNotBeenCreated()
{
IDynamicMock mock = new DynamicMock(typeof(IAdvisedSupportListener));
IAdvisedSupportListener listener = (IAdvisedSupportListener)mock.Object;
ProxyFactory factory = new ProxyFactory(new TestObject());
factory.AddListener(listener);
// must not fire the AdviceChanged callback...
factory.AddAdvice(new NopInterceptor());
// must not fire the InterfacesChanged callback...
factory.AddInterface(typeof(ISerializable));
mock.Verify();
}
示例8: AdvisedSupportListenerMethodsAreCalledAppropriately
public void AdvisedSupportListenerMethodsAreCalledAppropriately()
{
IDynamicMock mock = new DynamicMock(typeof(IAdvisedSupportListener));
IAdvisedSupportListener listener = (IAdvisedSupportListener)mock.Object;
mock.Expect("Activated");
mock.Expect("AdviceChanged");
mock.Expect("InterfacesChanged");
ProxyFactory factory = new ProxyFactory(new TestObject());
factory.AddListener(listener);
// must fire the Activated callback...
factory.GetProxy();
// must fire the AdviceChanged callback...
factory.AddAdvice(new NopInterceptor());
// must fire the InterfacesChanged callback...
factory.AddInterface(typeof(ISerializable));
mock.Verify();
}
示例9: CreateProxy
private IRepositoryInterface CreateProxy(RepositoryInterfaceImpl target)
{
MapPersistenceExceptionTranslator mpet = new MapPersistenceExceptionTranslator();
mpet.AddTranslation(persistenceException, new InvalidDataAccessApiUsageException("", persistenceException));
ProxyFactory pf = new ProxyFactory(target);
pf.AddInterface(typeof(IRepositoryInterface));
AddPersistenceExceptionTranslation(pf, mpet);
return (IRepositoryInterface) pf.GetProxy();
}
示例10: GetProxy
/// <summary>
/// Creates a new proxy for the supplied <paramref name="proxyInterface"/>
/// and <paramref name="interceptor"/>.
/// </summary>
/// <remarks>
/// <p>
/// This is a convenience method for creating a proxy for a single
/// interceptor.
/// </p>
/// </remarks>
/// <param name="proxyInterface">
/// The interface that the proxy must implement.
/// </param>
/// <param name="interceptor">
/// The interceptor that the proxy must invoke.
/// </param>
/// <returns>
/// A new AOP proxy for the supplied <paramref name="proxyInterface"/>
/// and <paramref name="interceptor"/>.
/// </returns>
public static object GetProxy(Type proxyInterface, IInterceptor interceptor)
{
ProxyFactory proxyFactory = new ProxyFactory();
proxyFactory.AddInterface(proxyInterface);
proxyFactory.AddAdvice(interceptor);
return proxyFactory.GetProxy();
}
示例11: InitializeProxy
/// <summary>
/// Initialize the proxy.
/// </summary>
private void InitializeProxy()
{
if (this.adviceChain.Length == 0)
{
return;
}
var factory = new ProxyFactory();
foreach (var advice in this.adviceChain)
{
factory.AddAdvisor(new DefaultPointcutAdvisor(TruePointcut.True, advice));
}
factory.ProxyTargetType = false;
factory.AddInterface(typeof(IContainerDelegate));
// TODO: Is this really the right target??? Doesn't seem right.
factory.Target = this;
this.proxy = (IContainerDelegate)factory.GetProxy();
}