asp.net-core - AspNetCore 2.0 + signalR 1.0.0 alpha2 添加管道或中间件

标签 asp.net-core signalr asp.net-core-2.0 signalr-2

在旧版本的 SignalR 和 .NetFreamwork 中,我使用的类继承了 HubPipelineModule 类,如:

public class IsConnectedPipeLine : HubPipelineModule
{
    protected override bool OnBeforeIncoming(IHubIncomingInvokerContext context)
    {
        if (context.MethodDescriptor.Name == "GetToken")
            return true;
        return ChatIdentity.CheckToken(context.Hub.Context.GetCurrentUserToken());
    }
}

现在我想开始在 .NetCore 2.0 和 SignalR 1.0.0 alpha 2 中进行开发
但我不知道如何在 Web API Controller 中实现管道、中间件或类似 costum ActionAttribute 的东西,我不在乎如何,基本上我需要 OnBeforeIncoming 功能。

我搜了一下,只找到了 this article但它很旧,不适用于新版本。

最佳答案

总结此处列出的内容以及此帖子链的指向。
Here is the proposal最终创建并用于网络核心信号器,以实现与 HubPipelineModule 类似的效果
and here is a link to documentation on it
如果你好奇... Here's documentation on filters in general
如果你和我一样,你会发现这个部分对编写你自己的过滤器特别有用
Exception catching filters
根据我自己的经验,我很害怕弄清楚如何使用它,因为我使用的是 net core 3.1 而不是 5.0。 5.0 有 AddFilter 调用可用。

关于asp.net-core - AspNetCore 2.0 + signalR 1.0.0 alpha2 添加管道或中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47703844/

相关文章:

c# - NLog 在日志文件中包含 EventId

javascript - 检索计数语句并通过 signalR 发送给客户端

c# - 在 Controller (ASP.NET Core)中进行 DI 时如何在 SignalR 中使用 Clients.Caller 和 Clients.Others?

asp.net-mvc-3 - 如何从 Controller 外部访问登录用户?

c# - 在 ASP.NET Core 2 和 Entity Framework Core 2 中查询表中的附近位置

带有 .net framework 4.6.1 的 Asp.net Core 2.0 - 找不到引用程序集“.NETFramework/v4.6.1/Microsoft.CSharp.dll”

c# - ASP .Net Core 在运行时更改路由

asp.net-core - appsettings.json 中的 NLog 配置而不是 .NET Core 中的 nlog.config

c# - 系统.InvalidOperationException : Unable to resolve service for type

c# - CPU、内存使用、线程池使用 - ASP NET core 身份未确认的邮件用户删除处理 - 在应用程序中还是单独的应用程序?