gpt4 book ai didi

c# - Postsharp OnException 方面未按预期工作

转载 作者:太空狗 更新时间:2023-10-29 23:38:50 27 4
gpt4 key购买 nike

我有以下自定义方面,并尝试在项目和类级别应用它。在所有情况下,即使是有意除以零,也永远不会调用 OnException 方法。我做错了什么?

[Serializable]
public class AutoLogExceptionsAspect : OnExceptionAspect
{
public override void OnException(MethodExecutionArgs args)
{
AutoLogExceptionEventSource.Log.AutoLogException(args.Exception.GetType().Name, args.Exception.Message, args.Exception.StackTrace);
args.FlowBehavior = FlowBehavior.Continue;
}

public override Type GetExceptionType(MethodBase targetMethod)
{
return typeof(Exception);
}
}

我在类里面尝试过这种装饰:

[AutoLogExceptionsAspect]
public partial class App : Application

还有这个项目:

[assembly: AutoLogExceptionsAspect]

最佳答案

恕我直言,AutoLogExceptionsAspect 与异常方面无关(或者至少不是强制性的)。

通常当异常(或其他“方法”方面属性)未被调用时,这是因为在 PostSharp 调用时构建链中存在问题。

请确定 Postsharp 是否在构建机器上启动并运行,并且在项目属性中启用了 Postsharp(例如,在需要处理 PostSharp 的程序集的属性中没有“SkipPostSharp”开关)。如果不是,则不会执行属性。

关于c# - Postsharp OnException 方面未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23781252/

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