Asp.Net SignalR Hub中的上下文对象
2017-01-24 18:28
253 查看
Hub中的 Context
使用了集线器后,会发现对比持久连接类少了OnConnectioned这样的事件,事实上是有的。需要我们去override.这下似乎发现了什么问题,记得持久连接类中有connectionid与request参数,而这里什么都没有???如果有需求要拿到connectionid呢
事实上是不用去担心的,因为已经为我们封装了context上下文对象,在基类HubBase中可以看到,它是HubCallerContext类型的
F12去看一下这个类里面有什么东西,嗯 ConnectionId、Headers、QueryString…..等 都是我们可能会用到的
// // 摘要: // 表示客户端的调用上下文。 public class HubCallerContext { // // 摘要: // 初始化 Microsoft.AspNet.SignalR.Hubs.HubCallerContext 类的新实例。 // // 参数: // request: // 当前的 HTTP 请求。 // // connectionId: // 连接 ID。 public HubCallerContext(IRequest request, string connectionId); protected HubCallerContext(); // // 摘要: // 获取调用客户端的连接 ID。 // // 返回结果: // 调用客户端的连接 ID。 public virtual string ConnectionId { get; } // // 摘要: // 获取请求的标头。 // // 返回结果: // 请求的标头。 public virtual INameValueCollection Headers { get; } // // 摘要: // 获取请求的查询字符串。 // // 返回结果: // 请求的查询字符串。 public virtual INameValueCollection QueryString { get; } // // 摘要: // 为当前 HTTP 请求获取 Microsoft.AspNet.SignalR.IRequest。 // // 返回结果: // 当前 HTTP 请求的 Microsoft.AspNet.SignalR.IRequest。 public virtual IRequest Request { get; } // // 摘要: // 获取请求的 Cookie。 // // 返回结果: // 请求的 Cookie。 public virtual IDictionary<string, Cookie> RequestCookies { get; } // // 摘要: // 获取请求的 System.Security.Principal.IPrincipal。 // // 返回结果: // 请求的 System.Security.Principal.IPrincipal。 public virtual IPrincipal User { get; } }
相关文章推荐
- Asp.Net SignalR Hub中的上下文对象
- Asp.Net Core SignalR 用泛型Hub优雅的调用前端方法及传参
- ASP.NET SignalR HubPipelineModule
- 【无私分享:ASP.NET CORE 项目实战(第二章)】添加EF上下文对象,添加接口、实现类以及无处不在的依赖注入(DI)
- asp.net signalR 专题—— 第四篇 模拟RPC模式的Hub操作
- 【无私分享:ASP.NET CORE 项目实战(第二章)】添加EF上下文对象,添加接口、实现类以及无处不在的依赖注入(DI)
- asp.net signalR 专题—— 第四篇 模拟RPC模式的Hub操作
- 续从IIS到PAGE对象:ASP.NET发现之旅
- 为 ASP.NET 创建缓存配置对象[转载]
- Asp.net中对象使用的实例
- ASP.NET 页面对象模型
- ASP.NET中的对象
- 使用反射技术在asp.net页间传递对象
- 使用反射将业务对象绑定到 ASP.NET 窗体控件(转自MSDN)
- asp.net高级教程(三)---对象
- ASP.NET 页面对象模型
- ASP.NET 页面对象模型[转自Msdnchina]
- ASP.NET Forum 中禁用含有子版块的版块后产生的"未将对象引用设置到对象的实例"异常的处理方法
- ASP.NET页面间传递对象的另类方法
- Asp.net中使用对象的实例