异常处理,一般采用try..catch方式处理,而signalR里面有HubPipelineModule类可以捕获到Hub内发生的异常信息。
从上图中,可以发现里面有OnIncomingError的虚方法,可以捕获在Hub内发生的异常信息。
首先新建类,继承 HubPipelineModule,然后重写实现此方法,目前逻辑将异常信息抛给客户端展现
重新注册该类,当时是寄宿在控制台应用程序中,所以代码方式如下:
若是ASP.NET中,可以在Global.asax这样实现:
寄宿端全部代码如下:
在页面代码中我们只需要简单的展现异常信息即可:
页面主要代码如下:
实现效果: