aop相关内容
我想使用 DefaultAdvisorAutoProxyCreator 创建一个线程本地对象(带有拦截器).我知道如何使用 ProxyFactoryObject 做到这一点:
..
我想使用拦截器为现有的 Web 服务实现日志记录;在项目中,我们使用 System.Web.Services.WebService 类(与 asmx.cs 文件关联的类),但我在网上找到的所有示例都使用了城堡的 wcf 工具. 有没有办法用 Castle 注册和解析 System.Web.Services.WebService 实例? 解决方案 我怀疑您是否可以代理 asmx Web
..
我们有一个项目,我们使用 PostSharp 来启用日志记录.效果很好.但是,有几种方法在非常紧密的循环中运行,其中日志记录的开销加起来确实相当可观.我正在尝试找出将它们从日志记录代码中排除的最佳方法. 据我所知,这种方法应该有效 AssemblyInfo.cs//为所有类中的所有方法打开日志记录[程序集:日志(LogType.Debug)]代码.cs//排除这个特定的方法[日志(属性排除
..
我喜欢 ASP.NET MVC 中的授权属性.与其说是属性本身,不如说是您应用它的方式. 我想在我的非 ASP MVC 服务层中使用它,最好在我的普通 C# 业务逻辑库中使用它,或者至少在我的 WCF 服务端点的端点上使用它,但不太好.PostSharp 是我唯一的答案还是有类似的免费解决方案? 解决方案 我遇到了类似的情况,最近研究了很多选项. 有一些使用 .NET 的 AO
..
我想弄清楚事后的想法.我想在调用任何属性设置器时设置变量 HasChanged.我有以下代码 公共类TestUser{公共 int Id { 获取;放;}公共字符串名字{获取;放;}公共字符串姓氏 { 获取;放;}public bool HasChanged { get;放;}}公共类 TestUserAmmendment:修正其中 T : 测试用户{公共测试用户修正(){特性.Where
..
我有像 这样的控制器 @MessageMapping("/room.register")@SendTo("#{sendTo}")public Message addUser(@Payload Message message,SimpMessageHeaderAccessor headerAccessor) {headerAccessor.getSessionAttributes().put("
..
我有相当大的代码库,使用各种不同的 ADO 技术(即一些 EF,在某些情况下直接使用 ADO.Net). 我想知道是否有任何方法可以全局拦截任何 ADO.Net 调用,以便我可以开始审核信息 - 执行的确切 SQL 语句、花费的时间、返回的结果等. 主要想法是,如果我能做到这一点,我就不必更改任何现有代码,而且我应该能够拦截/包装 ADO.Net 调用......这可能吗? 解决
..
我使用 Spring.Net 1.3.1 和 MVVM Foundation 将横切应用到我的视图模型.我注意到,如果在对象转换为横切代理之前分配属性更改处理程序,则代理引擎不会将属性更改处理程序应用于代理.有谁知道这是否是预期行为,如果是,是否有解决方法? 我的工厂是这样的 公共静态类 AopProxyFactory {公共静态对象 GetProxy(对象目标){var factory
..
.NET 中的条件属性允许您在编译时禁用方法调用.我正在寻找基本相同的东西,但在运行时.我觉得 AOP 框架中应该存在这样的东西,但我不知道它的名字,所以我很难确定它是否受支持. 举个例子,我想做这样的事情 [RuntimeConditional("Bob")]公共静态无效 M() {Console.WriteLine("执行的 Class1.M");}//.....//确定一个方法是否应
..
我正在尝试编写一个建议,以使用我的自定义注释拦截对类构造函数的调用: @MyCustomAnnotation公共类 SomeClass {public SomeClass(Foo a, Bar b){...}公共 SomeClass(Foo a){this(a, null);}} 我看到了一个如何拦截构造函数调用的例子,一般来说: @Before("执行(*.new(..))") 如何更新
..
我知道 VB.NET 有许多面向方面的框架.为了将一个方面添加到几个方法中,将整个框架拉入游戏有点繁重.VB.NET 是否提供了一种简单的方法(通过某种元编程/反射)将方面分层到类/对象中的现有方法上? 基本上,目标是拦截方法的传入消息以调用它并添加副作用或操纵请求,就像在标准 AOP 中通常所做的那样. 是否有将方面直接集成到语言中的计划? 解决方案 在这种情况下,多态不是一
..
我在一个方法上写了 2 个注释和 2 个处理每个注释值的 around 建议. 连接点方法是这样的: @CacheFetch(cacheName = CacheManager.CACHE_DATASOURCE_INFO)@TenantAware(method = OperationMethod.OPERATION, operation = OperationType.GET)公共数据源信息
..
我正在使用 Aspectj 执行项目范围的政策. 我现在想要实现的一件事是,除了使用 Guava 的 Preconditions.check* 方法进行简单验证之外,任何 setter 方法中都不应该有任何逻辑. Setter() 中的公共切入点:代码内(公共无效集*(*));公共切入点 inputValidation() :调用(公共无效前提条件.检查*(*));公共切入点 setFie
..
我有与帖子中指定的相同要求,即将用户 ID 作为客户端标识符传递以进行审核.使用 Hibernate 在 syscontext/connection 上传递 ClientInfo/ClientIdentifier用于审计目的 我采用了与8.2.自定义数据源连接准备器的配置中提到的相同的方法http://docs.spring.io/spring-data/jdbc/docs/current/
..
我有相当大的代码库,使用各种不同的 ADO 技术(即一些 EF,在某些情况下直接使用 ADO.Net). 我想知道是否有任何方法可以全局拦截任何 ADO.Net 调用,以便我可以开始审核信息,例如执行的确切 SQL 语句、花费的时间、返回的结果等. 主要想法是,如果我能做到这一点,我就不必更改任何现有代码,而且我应该能够拦截/包装 ADO.Net...这可能吗? > 编辑 有
..
我正在尝试在 VS2012 的网站项目中使用 PostSharp 方面.当我设置一个 Web 应用程序项目时,它似乎工作正常,但是当我将 aspect 属性应用于网站项目中页面上的方法时,它编译并运行良好,但我的 OnMethodBoundaryAspect 从未被击中.我尝试从方面方法设置断点和日志记录. PostSharp 是否支持网站项目?如果是这样,我错过了什么? 请不要评论我
..
我需要能够预处理大量 C# 文件作为项目的预构建步骤,检测方法的开始,并在方法的开始处插入生成的代码,在任何现有代码之前.但是,我在检测方法的打开时遇到问题.我最初尝试使用正则表达式进行匹配,但最终出现了太多误报. 我会使用反射,但 MethodInfo 类没有引用原始源中的点. 编辑:我在这里真正想做的是支持方法的前置条件,前置条件代码由方法的属性确定.我最初的想法是我可以寻找方法的
..
我正在使用 Guice 和 AspectJ,并且我正在尝试做一些 AOP 来测量某些方法的执行时间. 我有这个注释,用于注释我需要测量的所有方法: @Retention(RetentionPolicy.RUNTIME)@目标(元素类型.方法)@遗传公共@interface MyStopWatch {} 我有这个方法拦截器: public class MyInterceptor 实现 o
..
我正在使用以下代码使用方面来记录进入、退出和异常.通过这种方式,我必须在 ApplicationContext 中为应用程序中的每个类定义一个 bean,并且维护如此长度的 bean 定义及其属性变得很麻烦.你能帮我简化一下吗?我认为每次创建类时都定义 bean 是不合适的设计.感谢帮助,提前致谢.
..
我有一个自定义注释, @Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)公共@interface XAudit {AuditActionType action();} 我在某些方法上使用此注释,如下所示, @XAudit(action = "REGISTRATION")公共注册DTO注册(用户详细信息){//逻辑返
..