java 调取signalr所需jar包,获取SignalR中心内的完整URL

我正在开发一个使用SignalR的用户跟踪解决方案,作为一个有趣的项目来学习SignalR,用于ASP.NET MVC应用程序 .

目前,我可以跟踪已记录的用户以及他们在特定页面上的时长 . 如果他们移动到另一个页面,我也跟踪它,并且SignalR正在更新的计时器重置...许多其他功能被实现或部分实现 .

我面临的问题是如何在SignalR集线器内获取完整的URL控制器/操作/参数?

当我使用 HttpContext.Current.Request.Url 时,网址始终为 /signalr/connect .

注意:

var hub = $.connection.myHub;

$.connection.hub.start();

在_Layout.cshtml中 .

UPDATE:

我试过用

var location = '@HttpContext.Current.Request.Url';

var hub = $.connection.myHub;

$.connection.hub.start().done(function () {

hub.setLocation(location);

});

并且位置正确传递但我不需要在Connect()任务上使用它 . 是否有可能做到这一点?

UPDATE 2:

这种方法不起作用

var hub = $.connection.myHub;

$.connection.hub.start(function(){hub.setLocation(location)});

因为 Connect() 之前被调用过 .

在我的集线器中我有几种方法,但我想将值(在我的情况下是一个位置)传递给 Connect() ,这可能吗?

public class MyHub : Hub, IDisconnect, IConnected

{

public Task Connect()

{

//do stuff here

//and i would like to have the **location** value

}

public Task Disconnect()

{

//do stuff here

}

}

Update 3

使用QueryString在 Connect() 发生之前传递数据 .

var location = '@HttpContext.Current.Request.Url';

var hub = $.connection.myHub;

$.connection.hub.qs = "location= + location;

$.connection.hub.start();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值