gpt4 book ai didi

asp.net-mvc - Asp.Net MVC Controller : declarative AOP with Spring. 网络

转载 作者:行者123 更新时间:2023-12-02 17:48:27 26 4
gpt4 key购买 nike

Spring.Net 方面是否有可能无法与 Asp.Net Controller 一起使用?

我想在 Controller 的操作方法上配置事务,但代理似乎没有触发。

<object id="ControllerClassPointcut" type="Spring.Aop.Support.SdkRegularExpressionMethodPointcut, Spring.Aop">
<property name="patterns">
<list>
<value>xxx.Controllers.CompanyController.*</value>
</list>
</property>
</object>

<aop:config>
<aop:advisor pointcut-ref="ControllerClassPointcut" advice-ref="TxAdvice"/>
<!-- TxAdvice taken from ServiceContext -->
</aop:config>

<tx:advice id="TxAdvice" transaction-manager="TransactionManager">
<tx:attributes>
<tx:method name="*" propagation="Required"/>
</tx:attributes>
</tx:advice>

CompanyController 的操作方法是:

    [HttpPost]
public virtual ActionResult Create(Guid id, CompanyonViewModel vm)
{
...
}

但是尽管切入点被识别,但我的建议并未生效。如果我采用 Controller 以外的其他类作为切入点,它就可以工作。

对于某些方法,该建议有效。例如存储库的 setter 。但 Sprint.Net 无法识别调用了操作方法“Create”

Candidate is: 'xxx.Controllers.CompanyController.set_CompanyService'; pattern is 'xxx.Controllers.CompanyController.*'; matched=True Candidate advisor [DefaultObjectFactoryPointcutAdvisor: pointcut [Spring.Aop.Support.SdkRegularExpressionMethodPointcut]; advice object = 'TxAdvice'] accepted for targetType [xxx.Controllers.CompanyController]

感谢您的帮助

最佳答案

你可以尝试一下配置吗

<aop:config proxy-target-type="true">

这将创建一个基于继承的代理。您可能需要下载 spirng.net 的最新夜间版本才能正常工作(不是 1.3.0)。

关于asp.net-mvc - Asp.Net MVC Controller : declarative AOP with Spring. 网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4280143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com