gpt4 book ai didi

.net - .net 项目使用 aop 的性能问题

转载 作者:行者123 更新时间:2023-12-01 04:14:03 24 4
gpt4 key购买 nike

我担心在大型 .net 项目(大约有 50 万活跃用户)中使用 PostSharp 和 Spring.NET 对性能的影响。

基本上我想要这样的东西:我不想在创建用户报告时生成 50 万次的日志记录。但是当用户使用系统时,我想记录他/她的一些事件。大多数 AOP 工具都没有这种灵活性。

有没有办法将方面附加到单个对象?或者在运行时打开或关闭一个方面?

最佳答案

我对 PostSharp 和 Spring.NET 的理解是您在设计时为类定义方面、切入点或任何内容。当您在打开或关闭方面,或更改切入点等方面使用类的对象时,您无能为力。

您将获得在类设计时定义的内容。无论您使用一个对象,还是该类的一百万个对象。你应该非常小心地使用它们。否则,您可能会射中自己的脚。

您真正想要的是一个 AOP 工具,它可以在对象级别而不是类级别处理方面。有文章Add Aspects to Object Using Dynamic Decorator .

对我来说,方面是系统要求。系统要求是操作要求,最好在使用对象时在运行时在对象级别解决。

老实说,我不明白为什么大多数 AOP 工具都试图在设计时解决类级别的系统需求。这或许可以解释为什么这么多年后它们的采用仍然如此有限。

关于.net - .net 项目使用 aop 的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4697773/

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