万江仿做网站,重庆论坛,ipad wordpress 应用,密云做网站Realtime
Realtime是ABP底层模块提供的功能#xff0c;用于管理在线用户。它是使用SignalR实现给在线用户发送通知的功能的前提
IOnlineClient/OnlineClient: 封装在线用户的信息
OnlineClientManager/IOnlineClientManager: 用于提供基本维护在线用户的方法。其内部维护了…Realtime
Realtime是ABP底层模块提供的功能用于管理在线用户。它是使用SignalR实现给在线用户发送通知的功能的前提
IOnlineClient/OnlineClient: 封装在线用户的信息
OnlineClientManager/IOnlineClientManager: 用于提供基本维护在线用户的方法。其内部维护了一个字典来保存在线的客户信息。 SingalR
SignalRRealTimeNotifier: 实现了给在线用户发送通知的功能。其从IOnlineClientManager中获取在线客户列表然后比对通知UserNotification中的uerid从而实现定向发送通知的功能。 AbpCommonHub重写了Hub中的OnConnected和OnDisconnected方法在这两个方法中将当前用户添加/移除出IOnlineClientManager对象的集合。 WindsorDependencyResolver继承自系统默认的DefaultDependencyResolver用于替换默认的serviceContainer为Castle的IWindsorContainer。 AbpSignalRContractResolver:实现了NewtonSoft的IContractResolver接口。其封装了一个IgnoredAssemblies集合。实现ResolveContract方法如果type的assembly在IgnoredAssemblies中就使用DefaultContractResolver否则就使用CamelCasePropertyNamesContractResolver。 AbpWebSignalRModule完成SignalR模块的初始化主要完成以下三方面的工作
使用WindsorDependencyResolver替换DefaultDependencyResolver
根据ABP的regiser 规则对SignalR模块的接口或类进行register
设置JsonSerializer的ContractResolver为AbpSignalRContractResolver。 返回ABP源码分析系列文章目录