zoukankan      html  css  js  c++  java
  • Asp.Net SignalR Hub中的上下文对象

    Hub中的 Context

    使用了集线器后,会发现对比持久连接类少了OnConnectioned这样的事件,事实上是有的。需要我们去override

    image

    .这下似乎发现了什么问题,记得持久连接类中有connectionid与request参数,而这里什么都没有???如果有需求要拿到connectionid呢

    image

    事实上是不用去担心的,因为已经为我们封装了context上下文对象,在基类HubBase中可以看到,它是HubCallerContext类型的

    image

    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; }
        }
  • 相关阅读:
    11.11 ntsysv:管理开机服务
    11.13 ethtool:查询网卡参数
    11.14 mii-tool:管理网络接口的状态
    11.15 dmidecode:查询系统硬件信息
    11.16-18 lsci、ipcs、ipcrm:清除ipc相关信息
    Devops 导论
    * SPOJ PGCD Primes in GCD Table (需要自己推线性筛函数,好题)
    SPOJ
    HDU 1695 莫比乌斯反演
    HDU 1800 hash 找出现最多次数的字符串的次数
  • 原文地址:https://www.cnblogs.com/LiangSW/p/6347662.html
Copyright © 2011-2022 走看看