AspectCore-Framework
AspectCore-Framework copied to clipboard
AspectCore is an AOP-based cross platform framework for .NET Standard.
[](https://renovatebot.com) Welcome to [Renovate](https://togithub.com/renovatebot/renovate)! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin. 🚦 To activate Renovate, merge this Pull Request....
升级了7.0版本的EasyNetQ, 注入IAdvancedBus会报错. 原因是7.0版本的ISerializer的BytesToMessage参数加个in修饰符. 如下图  然后就报错了  对Emit不是很熟悉, 研究了很久, 无法解决, 官方有解决方案吗 更新. - .Net 6环境才会报这个错误
你好,想要请教一下 我在.net core专案中 使用Scutor套件做装饰者模式的DI 套用之后 就无法被AspectCore的属性拦截生成Proxy的class 想问你们有遇到过类似的问题吗 谢谢 專案連結 https://github.com/frank58246/AOE_Test    
该场景特殊,一般aop 使用场景应该佷难遇见 https://github.com/dotnetcore/AspectCore-Framework/blob/master/src/AspectCore.Core/Utils/ProxyGeneratorUtils.cs#L365 应该判断 `method.IsAbstract` ``` if (method.IsAbstract) { var methodBuilder = implTypeBuilder.DefineMethod(method.Name, InterfaceMethodAttributes, method.CallingConvention, method.ReturnType, method.GetParameters().Select(x => x.ParameterType).ToArray()); var ilGen = methodBuilder.GetILGenerator(); if (method.ReturnType != typeof(void)) { ilGen.EmitDefault(method.ReturnType); }...
继承`InterceptorFactory`后重写`CreateInstance`方法提供的参数`IServiceProvider`跟项目中其他地方获取实例的`IServiceProvider`不是同一个实例 使用的版本是2.2.0 项目是Blazor Server Side
您好,我们看代码中发现以下实例生命周期作用域有冲突:   IPropertyInjectorFactory 接口是Scope作用域,但是InterceptorCollector作用域是Singleton单例,InterceptorCollector中引用了IPropertyInjectorFactory ,也就是在Singleton的实例中引用了Scope,这个设计是不是不合理的? `System.InvalidOperationException: Cannot consume scoped service 'AspectCore.DependencyInjection.IPropertyInjectorFactory' from singleton 'AspectCore.DynamicProxy.IInterceptorCollector'. at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.VisitScopeCache(ServiceCallSite scopedCallSite, CallSiteValidatorState state) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.VisitConstructor(ConstructorCallSite constructorCallSite, CallSiteValidatorState state)...
.net6中报错
异常信息:IL 变量在当前本机 IP 上不可用。 (异常来自 HRESULT:0x80131304). The error code is CORDBG_E_IL_VAR_NOT_AVAILABLE, or0x80131304. `using AspectCore.Configuration; using AspectCore.Extensions.DependencyInjection; using WebApplication1; var builder = WebApplication .CreateBuilder(args); // Add services to the container. builder.Services.AddControllers();...
controller引用了一个使用了AOP的类,类中某方法抛异常出异常时(如空指针异常),异常堆栈信息最后只定位到controller调用这个类的这个方法的位置,没有定位到这个方法里发生异常的位置
- [x] add .NET6 target - [x] fix test error
I have an intercept named `TestIntercept` and it implemented `AbstractInterceptorAttribute`. ```cs public class TestIntercept : AbstractInterceptorAttribute { public override Task Invoke(AspectContext context, AspectDelegate next) { Console.WriteLine("Interceptor effect"); return context.Invoke(next); }...