码迷,mamicode.com
首页 > 其他好文 > 详细

signalr服务端

时间:2016-10-08 20:26:22      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

signalr 支持 iis托管、winform、windowsservices、wpf 托管 这里我采用winfrom托管

首先画一个这样的窗体

技术分享

在服务项目通过项目管理包安装signalr类库

技术分享

安装后 如果客户端是web程序 则将js移动到客户端 编写客户端的时候使用

技术分享

这次我安装缺少一个技术分享 程序集 我在官网下载手动引用上去了

新建一个类 该类用于自定义找到signalr回话的id  默认是随机的一个guid维护。。实现这个类 就可以根据用户id 直接发送给指定用户

  /// <summary>
    /// 自定义维护每个用户会话id的实现类
    /// </summary>
    public class UserIdProvider:IUserIdProvider
    {
        public string GetUserId(IRequest request)
        {
            return request.QueryString["Uid"];
        }
    }

新建一个signalr启动类。并将自定义维护会话注入

 public class Startup
    {
       public void Configuration(IAppBuilder app)
       {
           //注入signlar自定义维护会话id
           GlobalHost.DependencyResolver.Register(typeof(IUserIdProvider), () => new UserIdProvider());
           app.UseCors(CorsOptions.AllowAll);
           app.MapSignalR();
       }
    }

新建一个服务器的在线用户信息管理类

 /// <summary>
    /// 在线用户信息管理类
    /// </summary>
    public class User
    {
        /// <summary>
        /// 用户id
        /// </summary>
        public string Uid { get; set; }

        /// <summary>
        /// 用户名字
        /// </summary>
        public string UName { get; set; }

        /// <summary>
        /// 上线时间
        /// </summary>
        public DateTime Date { get; set; }

        /// <summary>
        /// 头像
        /// </summary>
        public string HeadPath { get; set; }


        /// <summary>
        /// 当前用户所在机构id
        /// </summary>
        public string OrganId{ get; set; }

        /// <summary>
        /// 当前用户所在部门id
        /// </summary>
        public string Depid { get; set; }
    }

 

signalr服务端

标签:

原文地址:http://www.cnblogs.com/LQBlog/p/5939672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!