向集线器方法添加一些过滤器(例如MVC中的AcctionFilters)

马哈茂德·莫拉维(Mahmoud Moravej)

无论如何,有没有为集线器功能定义和添加方法过滤器(例如mvc中的ActionFilters),我的意思是这样的:

public class MyHub : Hub 
{

    [Log]
    public string RegisterUser(UserModel model){
        ...
    }
}

在这里我可以在LogAttribute实现内部进行一些控制

支架73

通过使用SignalR的Hub管道,您应该能够实现与ASP.NET MVC中的动作过滤器类似的功能

public class LoggingPipelineModule : HubPipelineModule 
{ 
    protected override bool OnBeforeIncoming(IHubIncomingInvokerContext context) 
    {
        Debug.WriteLine("Invoking '{0}.{1}({2})'.",
            context.MethodDescriptor.Hub.Name,
            context.MethodDescriptor.Name,
            string.Join(", ", context.Args));

        return base.OnBeforeIncoming(context); 
    }

    protected override object OnAfterIncoming(object result, IHubIncomingInvokerContext context)
    {
        Debug.WriteLine("Finished Invoking '{0}.{1}'. Returned '{2}'.",
            context.MethodDescriptor.Hub.Name,
            context.MethodDescriptor.Name,
            result);

        return base.OnAfterIncoming(result, context); 
    }
}

如果只想记录附加了定制属性的方法,则可以在记录之前检查定制属性:

protected override bool OnBeforeIncoming(IHubIncomingInvokerContext context) 
{
    if (context.MethodDescriptor.Attributes.OfType<MyAttribute>().Any())
    {
        // Log here.
    }

    return base.OnBeforeIncoming(context); 
}

您可以在致电之前注册模块MapSignalR

public void Configuration(IAppBuilder app) 
{ 
    GlobalHost.HubPipeline.AddModule(new LoggingPipelineModule()); 
    app.MapSignalR();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Realm java 查询中添加一些过滤器并删除一些过滤器列表

来自分类Dev

一些&(第一个(Clojure中的过滤器?

来自分类Dev

如何在运行时添加/删除一些过滤器以绘制图形?

来自分类Dev

向 Laravel 模型添加过滤器辅助方法

来自分类Dev

向 obiee 中的分析添加过滤器

来自分类Dev

如何在Sonata Admin中向过滤器添加选择选项的最佳方法?

来自分类Dev

使用 AngularJS 过滤器过滤一些 JSON 值

来自分类Dev

向Javascript过滤器添加条件

来自分类Dev

向Gmail添加邮箱过滤器

来自分类Dev

向 CIImage 添加过滤器

来自分类Dev

KendoUI网格-禁用每列一些过滤器运算符

来自分类Dev

如何检查Play Slick过滤器是否返回了一些行或空结果?

来自分类Dev

过滤器返回所有内容,但只返回一些

来自分类Dev

使用一些过滤器将可变长度列表转换为字典

来自分类Dev

Data Studio过滤器-一些String数据自动转换为日期范围

来自分类Dev

满足空值或其他一些条件时验证过滤器

来自分类Dev

如何使Logstash多行过滤器根据一些动态字段值合并行?

来自分类Dev

如何检查Play Slick过滤器是否返回了一些行或空结果?

来自分类Dev

为 Keras 卷积网络指定一些不可训练的过滤器

来自分类Dev

这个 AngularJS 过滤器是如何工作的?给我一些描述

来自分类Dev

使用 React 对一些过滤器组件进行建模

来自分类Dev

在C#中向EventHandler添加一些参数

来自分类Dev

在C#中向EventHandler添加一些参数

来自分类Dev

如何在Django Rest框架中向发布方法添加一些cutom代码

来自分类Dev

odata查询-有没有一种方法可以向过滤器添加“和false”

来自分类Dev

SQL 用类别的平均值加上一些过滤器创建一个列

来自分类Dev

有没有一种方法可以在C#中向数组添加一些元素?

来自分类Dev

React / Redux-向一个组件添加排序或过滤器功能

来自分类Dev

在angularjs中添加过滤器

Related 相关文章

  1. 1

    如何在 Realm java 查询中添加一些过滤器并删除一些过滤器列表

  2. 2

    一些&(第一个(Clojure中的过滤器?

  3. 3

    如何在运行时添加/删除一些过滤器以绘制图形?

  4. 4

    向 Laravel 模型添加过滤器辅助方法

  5. 5

    向 obiee 中的分析添加过滤器

  6. 6

    如何在Sonata Admin中向过滤器添加选择选项的最佳方法?

  7. 7

    使用 AngularJS 过滤器过滤一些 JSON 值

  8. 8

    向Javascript过滤器添加条件

  9. 9

    向Gmail添加邮箱过滤器

  10. 10

    向 CIImage 添加过滤器

  11. 11

    KendoUI网格-禁用每列一些过滤器运算符

  12. 12

    如何检查Play Slick过滤器是否返回了一些行或空结果?

  13. 13

    过滤器返回所有内容,但只返回一些

  14. 14

    使用一些过滤器将可变长度列表转换为字典

  15. 15

    Data Studio过滤器-一些String数据自动转换为日期范围

  16. 16

    满足空值或其他一些条件时验证过滤器

  17. 17

    如何使Logstash多行过滤器根据一些动态字段值合并行?

  18. 18

    如何检查Play Slick过滤器是否返回了一些行或空结果?

  19. 19

    为 Keras 卷积网络指定一些不可训练的过滤器

  20. 20

    这个 AngularJS 过滤器是如何工作的?给我一些描述

  21. 21

    使用 React 对一些过滤器组件进行建模

  22. 22

    在C#中向EventHandler添加一些参数

  23. 23

    在C#中向EventHandler添加一些参数

  24. 24

    如何在Django Rest框架中向发布方法添加一些cutom代码

  25. 25

    odata查询-有没有一种方法可以向过滤器添加“和false”

  26. 26

    SQL 用类别的平均值加上一些过滤器创建一个列

  27. 27

    有没有一种方法可以在C#中向数组添加一些元素?

  28. 28

    React / Redux-向一个组件添加排序或过滤器功能

  29. 29

    在angularjs中添加过滤器

热门标签

归档