首页新闻找找看学习计划

Signalr如何不基于用户来关联和区分用户的设备呢

0
悬赏园豆:106 [已解决问题] 解决于 2015-05-17 11:40

@dudu ,@Astar,@Launcher,@妖月,@换天忙,@丁力,@Gray Zhang,@eaglet,@artwl...

比如以下场景,

1.不能使用UserProfile,因为系统不允许注册用户

2.实际的使用场景是比如在pc页面上有一个二维码,用户手机扫描后,可以实现手机和pc页面之间一对一的发送信息

 

请教各位大神,有没有什么好的解决思路呢?

给我一个理由的主页 给我一个理由 | 初学一级 | 园豆:17
提问于:2015-05-13 15:02
< >
分享
最佳答案
0

现在我的解决方法是这样的

使用IUserIdProvider,然后前台将一个参数以url的方式向手机页面传递,这个参数同时也作为signalr的qs传递到后台

这样就是通过这个参数作为区分的标志。

var connection = $.hubConnection();     

var awardHubProxy = connection.createHubProxy('awardHub');     

//这个方法是等到手机连接好了之后然后群发的     

awardHubProxy.on('startAward', function (awardNum) {         startAward(awardNum);     });           connection.qs = { 'userId': $userId };     

connection.start();

 

后台接收这个connection.qs的代码也很简单

在hub派生类中使用Context.Querystring["userId"]

给我一个理由 | 初学一级 |园豆:17 | 2015-05-17 11:36
其他回答(3)
0

你好,我最近也在看SignalR,属于小白级别的,请问有什么资料吗,类似与api之类的,谢谢啦。不能给你提供帮助实在抱歉。

火悬崖 | 园豆:434 (菜鸟二级) | 2015-05-13 16:18
1

你说的这种完全是可以实现的话,SignalR只是提供了基本的通信机制,用户\设备区分都是你应该做的工作。

收获园豆:106
幻天芒 | 园豆:36594 (高人七级) | 2015-05-13 16:39

我知道这是我的事啊,总不能指望微软把什么都做好了吧,

但是我现在思路有点乱吗?求大神给个好的思路

支持(0) 反对(0) 给我一个理由 | 园豆:17 (初学一级) | 2015-05-13 17:33

@夏天总是热: 二维码上扫出来是一个网址,打开这个网址后,给这台手机分配一个token,然后用这个token识别设备就可以了。

支持(0) 反对(0) 幻天芒 | 园豆:36594 (高人七级) | 2015-05-14 08:59

我也是醉了

支持(0) 反对(0) 给我一个理由 | 园豆:17 (初学一级) | 2015-05-14 09:36

@夏天总是热: 既然是手机嘛,直接存到LocalStorage也是可行的..

支持(0) 反对(0) 幻天芒 | 园豆:36594 (高人七级) | 2015-05-14 10:08
0

理论上浏览器的都不能获取本机数据

【秦时明月】 | 园豆:803 (小虾三级) | 2015-05-14 16:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册