标签: postsharp

将PostSharp与F#一起使用 - 需要使用工作示例的文档

我需要捕获F#函数的输入和输出,并决定尝试使用PostSharp.我无法找到使用PostSharp和F#的文档和一个有效的F#示例.有谁知道我会在哪里找到这样的?

f# postsharp

4
推荐指数
1
解决办法
372
查看次数

PostSharp如何在运行时知道某个方面是否应用于某个方法?

我正在实现PostSharp方面库,无法找到解决以下问题的方法.

假设我们有一个方面将应用于某些方法,而不会应用于其他方法.我需要一些机制,我可以在运行时使用它来知道方面是否应用于方法.具体来说,在运行时确定某个方面是否应用于某个特定方法的推荐方法是System.Reflection.MethodBase什么?

我想到的第一个解决方案是使用自定义属性methodBase.CustomAttributes在运行时使用PostSharp标记已由此方面修改的每个方法.这是解决问题的正确方法吗?或者在PostSharp中已经有一个现成的或更优雅的解决方案.

此外,请注意首选是一种不需要付费PostSharp许可证的解决方案,因为Free Community Edition足以支持我当前的项目.无论如何,讨论基于付费PostSharp功能的解决方案也是非常有意义的.

.net c# reflection aop postsharp

4
推荐指数
1
解决办法
579
查看次数

postsharp express每个项目限制为10个目标类

它适用于任何方面吗?是吗?

如果我使用多播属性,它将仅随机应用于前10个匹配项?

我不确定我是否有这个限制.你介意做一点点吗?很受欢迎的例子.

postsharp

4
推荐指数
1
解决办法
645
查看次数

有人在Mono下使用过任何AOP产品吗?

我正在研究在我的一个项目中使用PostSharp.复杂的因素是我需要PostSharp在Windows x64和Linux x64/Mono上工作.

根据PostSharp的可用信息,您可以在Windows/.NET上编译并在.NET和Mono下运行.

问题是:我可以在Linux/Mono上执行PostSharp构建吗?

mono aop postsharp

3
推荐指数
1
解决办法
661
查看次数

PostSharp OnMethodBoundaryAspect

我正在研究postharp 1.5和OnMethodBoundaryAspect的方面.我希望我的方面默认具有以下行为:

1 - 如果在类级别使用该属性,则方面仅应用于PUBLIC方法.

2 - 方面的用户可以将方面放在私有或受保护的方法中.

如果我使用[MulticastAttributeUsage(MulticastTargets.Method,TargetMemberAttributes = MulticastAttributes.Public)]点1工作,但案例2甚至不构建因为不兼容.

然后我尝试使用:AttributeTargetTypeAttributes = MulticastAttributes.Public; 在方面的构造函数中,但不起作用.

非常感谢你提前.

c# postsharp

3
推荐指数
1
解决办法
2060
查看次数

Postsharp新手 - 为什么args.Instance为空?

PostSharp的新功能---我现在正在尝试NuGet版本,并且我试图在AuthoriseAttribute OnEntry方法中理解agrs.Instance值为null的wny.我正在尝试实现取决于对象值的作者,例如,已归档的客户不能提高信用额度.我正在其他特定于规则的类中实现规则.

public class Program
{
    static void Main(string[] args)
    {
        var c = new Customer();
        c.RaiseCreditLimit(100000);
        c.Error(00); 
    }
}

public class Customer
{
    [AuthorizeActivity]
    public void RaiseCreditLimit(int newValue)
    {
    }

    [AuthorizeActivity]
    public void Error(int newValue)
    {

    }
}

[Serializable]
public class AuthorizeActivityAttribute : OnMethodBoundaryAspect
{
    public override void OnEntry(MethodExecutionArgs args)
    {
        //
        //Why is args.Instance null???????????
        //
        if (args.Method.Name == "RaiseCreditLimit")
        {
            Debug.WriteLine(args.Method.Name + " started");
        }
        else
        {
            throw new Exception("Crap");
        }
    }

    public override void OnExit(MethodExecutionArgs args) …
Run Code Online (Sandbox Code Playgroud)

aop postsharp

3
推荐指数
1
解决办法
1299
查看次数

PostSharp编译时编织会引入问题吗?

我正在阅读有关PostSharp的内容,我发现它使用了编译时编织.

我知道PostSharp是一个相当成熟的,但它的编织系统是否足够安全用于商业用途?

有没有人遇到过问题,或者知道编译时IL编织可以引入的问题?

c# aop postsharp

3
推荐指数
1
解决办法
897
查看次数

使用Postsharp时在VS2012中编译c#项目时出错

我目前正在开发一个我们想要添加PostSharp功能的项目.

我已经设置了Postsharp属性

[Serializable]
public class NLogTraceAttribute : OnMethodBoundaryAspect
{
    private readonly string _logLevel;
    ILogger logger;

    public NLogTraceAttribute(string logLevel)
    {
        _logLevel = logLevel;

        logger = new Logger("TraceAttribute");
    }

    public override void OnEntry(MethodExecutionArgs args)
    {
        LogAction("Enter", args);
    }

    public override void OnExit(MethodExecutionArgs args)
    {
        LogAction("Leave", args);
    }

    private void LogAction(string action, MethodExecutionArgs args)
    {
        var argumentsInfo = args.GetArgumentsInfo();

        logger.Log(_logLevel, "{0}: {1}.{2}{3}", action, args.Method.DeclaringType.Name, args.Method.Name, argumentsInfo);
    }
}
Run Code Online (Sandbox Code Playgroud)

并尝试将其用作

    [NLogTrace(NLogLevel.Debug)]
Run Code Online (Sandbox Code Playgroud)

但是在编译项目时,我收到以下错误:

    Error   26  Cannot serialize the aspects: Type 'NLog.Logger' in Assembly 
    'NLog, Version=2.0.0.0, …
Run Code Online (Sandbox Code Playgroud)

c# nlog postsharp

3
推荐指数
1
解决办法
686
查看次数

.NET中的AOP和动作过滤器

2个问题:

  1. MVC中的动作过滤器是否被视为面向方面编程(AOP)?
  2. 如果是这样,.NET是否为非MVC代码提供类似的东西(即常规类库?)

上下文是我想要将日志记录添加到应用程序.我不喜欢在整个地方洒上日志代码,而是喜欢能够定义登录一个中心位置的规则.

似乎我可以使用AOP技术(PostSharp)实现这一目标.但是,如果.NET内置了一些内容,我可能最终会使用它.

.net c# asp.net aop postsharp

3
推荐指数
1
解决办法
1106
查看次数

在PostSharp中使用INotifyPropertyChanged忽略属性

将PostSharp的[INotifyPropertyChanged]属性应用于类时,是否有办法强制PostSharp忽略某些属性?

c# postsharp

3
推荐指数
1
解决办法
660
查看次数

标签 统计

postsharp ×10

c# ×6

aop ×5

.net ×2

asp.net ×1

f# ×1

mono ×1

nlog ×1

reflection ×1