如何使用SignalR发送页面跳转通知
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍了如何使用SignalR发送页面跳转通知,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信商城使用支付宝支付的时候,需
千家信息网最后更新 2025年02月02日如何使用SignalR发送页面跳转通知
这篇文章主要介绍了如何使用SignalR发送页面跳转通知,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
微信商城使用支付宝支付的时候,需要有个过度页面提示用户用浏览器打开页面去支付,等用户在浏览器支付完之后再打开微信(微信此时依旧显示的是过度页面),过度页面需要跳转到订单详情页面。那么这个过度页面怎么知道需要跳转呢?
目前能想到的就是用SigbalR发送通知告诉那个过度页面去跳转.
第一步,先添加SigbalR相关dll.
第二步,自定义hub
public class myHub:Hub { public override Task OnConnected() { return base.OnConnected(); } }
第三步,自定义UserIdProvider,因为我们需要给指定用户发送跳转的通知
public class CustomerUserIdProvider: IUserIdProvider { public string GetUserId(IRequest request) { //获取当前登录用户 var customer = EngineContext.Current.Resolve().CurrentCustomer; if(customer==null) { return ""; }else { //返回当前登录用户id return customer.Id.ToString(); } } }
第四步,在startup里注册我们自定义的UserIdProvider
//SignlR var idProvider = new CustomerUserIdProvider();GlobalHost.DependencyResolver.Register(typeof(IUserIdProvider), () => idProvider);app.MapSignalR();
第五步,在支付宝支付完成异步通知加上这行代码发送通知,并且传入订单单号参数,这里给order customerid的用户发送通知,order customerid和当前登录者的id是一样的。所以能接收到信息。
var myHub = GlobalHost.ConnectionManager.GetHubContext();myHub.Clients.User(order.OrderCustomerId.ToString()).redirctOrderDetails(order.OrderNumber);
第六步,在在过度页面接受执行
// 声明一个代理引用该集线器,记得$.connection.后面的方法首字母必须要小写,这也是我为什么使用别名的原因var chat = $.connection.chinookHub;// 这里是注册集线器调用的方法,和1.0不同的是需要chat.client后注册,1.0则不需要chat.client.redirctOrderDetails = function (oerderNumber) { _window.location.href = "/Customer/MyOrderDetails?page=4&orderNumber=" + oerderNumber; };chat.client.redirctMoneyAccountDetail = function () { _window.location.href = "/Customer/AccountDetail/Money"; }; // 启动连接$.connection.hub.start();
这样,就可以完美的实现支付完成后跳转页面了。目前没想到更好的办法了。
感谢你能够认真阅读完这篇文章,希望小编分享的"如何使用SignalR发送页面跳转通知"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
页面
支付
用户
篇文章
登录
方法
浏览器
订单
集线器
浏览
不同
没想到
代码
价值
信息
兴趣
别名
办法
单号
原因
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何给服务器加负载
软件开发的中间商
科沃斯软件开发薪资
游戏开发 用的数据库
如何别让别人随便动服务器
医疗卫生网络安全
esxi6.0 服务器安装
亚太网络安全会议
网络安全为人民的一段话
win10数据库损坏怎么修复
民生证券连接服务器没反应
中兴的软件开发认可度
原创网络安全小短句小学生
全国dns服务器厂商
区块链超导网络技术
电脑服务器如何删除上网记录
ftp服务器段
录像机硬盘数据库修复如何取消
电脑装软件无法连接服务器
电子商务技术中数据库接口
技术识别征信数据库
网络安全管理员初级
大数据网络安全联盟
广东服务器电源哪家有卖
广东网络安全职称
怎么把apache安装到服务器
数据库数据恢复哪种快
长宁区计算机网络技术推荐咨询
逃离塔克夫由于连接服务器较低
应用软件开发工作量管理办法