• 大小: 20.69MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-15
  • 语言: C#
  • 标签: c#  websocket  winform  webform  

资源简介

SignalR实现扫码登录(B/S,C/S)源码 下载前你可以先看一下我的博文 https://blog.csdn.net/xy596356456/article/details/109241749 你也可以按照我的文章一步步实现

资源截图

代码片段和文件信息

using Microsoft.AspNet.SignalR;
using SignalRService.Class;
using SignalRService.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SignalRService
{
    public class MyHub : Hub
    {
        /// 
        /// 构造时对Program.MyHub赋值
        /// 

        public MyHub()
        {
            Program.MyHub = this;
        }

        /// 
        /// 实现推送扫码成功的用户信息的方法
        /// 

        /// 
        /// 
        public void SendUserInfo(string connectionId string userInfo) {
            //调用客户端的 GetUserInfo 方法 返回用户信息
            Clients.Client(connectionId).GetUserInfo(userInfo);
        }
        

        /// 
        /// 实现注册方法
        /// 

        public void Register()
        {
            //获取UUID
            var UUID = Helper.GetUUID();
            //查询用户
            var client = Program.ClientInfoList.Where(u => u.ConnectionId == Context.ConnectionId).SingleOrDefault();
            if (client == null)
            {
                client = new ClientInfo()
                {
                    ConnectionId = Context.ConnectionId
                    UUID = UUID
                };
                Program.ClientInfoList.Add(client);
            }
            else
            {
                client.UUID = UUID;
            }

            //调用客户端的 GetUUID 方法 返回UUID
            Clients.Client(Context.ConnectionId).GetUUID(Newtonsoft.Json.JsonConvert.Serializeobject(new
            {
                IsOk = “Y“
                Msg = ““
                UUID = UUID
            }));
            //Helper.Log(“LoginLog“ + System.DateTime.Now.ToString(“yyyyMMdd“) “[Register]    “ + Newtonsoft.Json.JsonConvert.Serializeobject(client));
        }

        
        /// 
        /// 重写连接事件 目前没实现功能你可以在这记日志或者干点别的事情
        /// 

        /// 
        public override Task OnConnected()
        {
            //Helper.Log(“ConnectedLog“ + System.DateTime.Now.ToString(“yyyyMMdd“) “[Connected]    [ConnectionId:“ + Context.ConnectionId + “  IP:“ + Helper.GetClientIp(Context) + “]“);
            return base.OnConnected();
        }

        /// 
        /// 重写连接断开事件
        /// 

        /// 
        /// 
        public override Task OnDisconnected(bool stopCalled)
        {
            //查询用户
            var client = Program.ClientInfoList.Where(u => u.ConnectionId == Context.ConnectionId).SingleOrDefault();
            //判断用户是否存在,存在则删除
            if (client != null)
            {
                //删除用户
                Program.ClientInfoList.Remove(client);
            }
            //Helper.Log(“ConnectedLog“ + System.DateTime.Now.ToString(“yyyyMMdd“) “[Disconnec

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-10-24 17:51  ScanQRCodeToLogin\
     目录           0  2020-10-23 16:24  ScanQRCodeToLogin\.vs\
     目录           0  2020-10-24 15:12  ScanQRCodeToLogin\.vs\config\
     文件       85872  2020-10-24 15:12  ScanQRCodeToLogin\.vs\config\applicationhost.config
     目录           0  2020-10-23 16:24  ScanQRCodeToLogin\.vs\ScanQRCodeToLogin\
     目录           0  2020-10-23 16:24  ScanQRCodeToLogin\.vs\ScanQRCodeToLogin\v14\
     文件       62464  2020-10-24 18:21  ScanQRCodeToLogin\.vs\ScanQRCodeToLogin\v14\.suo
     目录           0  2020-10-24 18:02  ScanQRCodeToLogin\packages\
     目录           0  2020-10-24 15:23  ScanQRCodeToLogin\packages\jQuery.1.6.4\
     文件        9467  2018-10-14 20:42  ScanQRCodeToLogin\packages\jQuery.1.6.4\.signature.p7s
     目录           0  2020-10-24 15:23  ScanQRCodeToLogin\packages\jQuery.1.6.4\Content\
     目录           0  2020-10-24 15:23  ScanQRCodeToLogin\packages\jQuery.1.6.4\Content\scripts\
     文件      214129  2011-09-21 17:51  ScanQRCodeToLogin\packages\jQuery.1.6.4\Content\scripts\jquery-1.6.4-vsdoc.js
     文件      238159  2011-09-21 17:51  ScanQRCodeToLogin\packages\jQuery.1.6.4\Content\scripts\jquery-1.6.4.js
     文件       91669  2011-09-21 17:51  ScanQRCodeToLogin\packages\jQuery.1.6.4\Content\scripts\jquery-1.6.4.min.js
     文件      241030  2020-10-24 15:23  ScanQRCodeToLogin\packages\jQuery.1.6.4\jQuery.1.6.4.nupkg
     目录           0  2020-10-24 15:23  ScanQRCodeToLogin\packages\jQuery.1.6.4\Tools\
     文件         914  2011-09-21 17:51  ScanQRCodeToLogin\packages\jQuery.1.6.4\Tools\install.ps1
     文件      216286  2011-09-21 17:51  ScanQRCodeToLogin\packages\jQuery.1.6.4\Tools\jquery-1.6.4-vsdoc-para.js
     文件        1455  2011-09-21 17:51  ScanQRCodeToLogin\packages\jQuery.1.6.4\Tools\uninstall.ps1
     目录           0  2020-10-24 11:23  ScanQRCodeToLogin\packages\Microsoft.AspNet.Cors.5.0.0\
     文件        9473  2018-10-04 21:50  ScanQRCodeToLogin\packages\Microsoft.AspNet.Cors.5.0.0\.signature.p7s
     目录           0  2020-10-24 11:23  ScanQRCodeToLogin\packages\Microsoft.AspNet.Cors.5.0.0\lib\
     目录           0  2020-10-24 11:23  ScanQRCodeToLogin\packages\Microsoft.AspNet.Cors.5.0.0\lib\net45\
     文件       25808  2013-10-01 20:54  ScanQRCodeToLogin\packages\Microsoft.AspNet.Cors.5.0.0\lib\net45\System.Web.Cors.dll
     文件       24792  2020-10-24 11:23  ScanQRCodeToLogin\packages\Microsoft.AspNet.Cors.5.0.0\Microsoft.AspNet.Cors.5.0.0.nupkg
     目录           0  2020-10-24 18:02  ScanQRCodeToLogin\packages\Microsoft.AspNet.SignalR.Client.2.4.1\
     文件       18694  2019-04-10 11:17  ScanQRCodeToLogin\packages\Microsoft.AspNet.SignalR.Client.2.4.1\.signature.p7s
     目录           0  2020-10-24 18:02  ScanQRCodeToLogin\packages\Microsoft.AspNet.SignalR.Client.2.4.1\lib\
     目录           0  2020-10-24 18:02  ScanQRCodeToLogin\packages\Microsoft.AspNet.SignalR.Client.2.4.1\lib\net40\
     文件      143408  2019-04-03 00:30  ScanQRCodeToLogin\packages\Microsoft.AspNet.SignalR.Client.2.4.1\lib\net40\Microsoft.AspNet.SignalR.Client.dll
............此处省略336个文件信息

评论

共有 条评论