HubPipelineModule的OnIncomingError没有被触发

时间:2016-11-03 12:27:01

标签: c# signalr signalr-hub

在SignalR项目中,我有以下内容以记录异常:

HubExceptionHandler.cs

public class HubExceptionHandler : HubPipelineModule
{
    protected override void OnIncomingError(ExceptionContext exceptionContext, IHubIncomingInvokerContext invokerContext)
    {
        Panic.EmailIt(exceptionContext.Error, "Exception in hub");
        base.OnIncomingError(exceptionContext, invokerContext);
    }

}

Startup.cs

public void Configuration(IAppBuilder app)
    {
        ConfigureAuth(app);

        GlobalHost.HubPipeline.AddModule(new HubExceptionHandler());

        GlobalHost.DependencyResolver.Register(
        typeof(MonitoringHub),
        () => new MonitoringHub(new DashboardService()));            

        app.MapSignalR();
    }

在hub的一个功能中,我所做的就是抛出异常:

public void AddDecisionServiceApiLog()
    {
        throw new Exception();
    }

Hub管道模块中的代码永远不会被命中。当抛出异常时,我得到的只是客户端上的空响应。

我尝试覆盖BuildIncoming中的HubExceptionHandler.cs函数,它运行正常,因此我知道模块已成功注册。

我的猜测是,在其他地方有处理异常的东西吗?

有什么想法吗?

0 个答案:

没有答案