【问题标题】:spring.net proxy factory with target type needs property virtual?具有目标类型的spring.net代理工厂需要属性虚拟?
【发布时间】:2011-04-07 17:43:43
【问题描述】:

我正在代码中创建 spring.net 代理,方法是使用 ProxyFactory 对象并将 ProxyTargetType 设置为 true,以便在非接口复杂对象上拥有代理。 在我调用该对象的方法之前,代理似乎没问题。该方法引用了一个公共属性,如果该属性不是虚拟的,则它的值为 null。

如果我在 spring 配置文件中使用 Spring.Aop.Framework.AutoProxy.InheritanceBasedAopConfigurer 不会发生这种情况,但在这种情况下我不能使用它,因为 spring 上下文不拥有这个对象。

有这样的行为是正常的还是有一个调整来执行我想要的(代理对象虚拟方法而不必更改虚拟属性)? 请注意,我尝试了 factory.AutoDetectInterfaces 和 factory.ProxyTargetAttributes 值,但没有帮助。

我的代理创建代码:

public static T CreateMethodCallStatProxy<T>()
  {
   // Proxy factory
   ProxyFactory factory = new ProxyFactory();
   factory.AddAdvice(new CallMonitorTrackerAdvice());
   factory.ProxyTargetType = true;   

   // Create instance
   factory.Target = Activator.CreateInstance<T>();

   // Get proxy
   T proxiedClass = (T)factory.GetProxy();

   return proxiedClass;
  }

感谢您的帮助

【问题讨论】:

    标签: proxy properties virtual aop spring.net


    【解决方案1】:

    好的,所以属性需要是虚拟的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-20
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多