asp.net – SignalR和HttpContext / Session
我明白为什么SignalR不给你
access to the HttpContext.但是,这对我们来说是很麻烦的.让我解释:
我们的应用程序是用户在登录时选择环境的多租户应用程序,它基本上在HttpSession中注册了ConnectionStringName.在我们的SignalR Hub中,我们需要在Disconnect上访问数据库.但这是不可能的,因为我们现在没有HttpContext,无法确定要写入的环境. 任何人都可以提供一个建议如何解决这个问题?我们有点困在这个. 编辑:如果您的解决方案在负载平衡环境中工作,则为积分. 解决方法
这是一个古老的问题,但我正在离开我的答案,以防万一有助于任何人.
由于您的中心扩展了Microsoft.AspNet.SignalR.Hub,因此可以访问HubCallerContext类型的Context属性 此属性暴露了来自呼叫者的大量信息: > ConnectionId 在我的解决方案中,我使用存储在Context.User.Identity.Name中的用户名作为我的键/值存储(Redis在我的情况)中的键,以跟踪用户拥有的所有连接. 您可以覆盖OnConnnect和OnDisconnect来维护与用户关联的连接列表.您还可以存储任何您想要的连接ID(您的用户连接字符串). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET MVC中的经典ASP(C#)
- asp.net – 有没有一种简单的方法可以向DataBound DropDown
- 具有前缀的控件的Asp.Net MVC2 Clientside验证问题
- asp.net-mvc – ASP.NET MVC中的通用基本控制器错误处理问题
- asp.net – 如何在web.config中设置text / html的默认内容类
- 如何在ASP.NET应用程序中使用jQuery捕获提交事件?
- asp.net – “SELECT * FROM …”VS“SELECT ID FROM …”性
- asp.net-mvc-3 – MVC 3 – 比较属性 – 在客户端执行不区分
- asp.net – 将OpenID集成到网站的注册过程中
- asp.net – 当使用HttpContextScoped()时,StructureMap不会
- asp.net – 在Web API中获取匹配的路由名称
- asp.net – jQuery单击事件处理程序被调用两次复
- asp.net-mvc – 带有Base64编码的JsonResult
- asp.net-mvc-3 – 如何将现有文件夹与其所有子文
- asp.net-mvc – 防止JsonResult自动格式化日期
- 新单词 part 15
- asp.net – 用户之间共享的公共共享变量?
- asp.net-mvc – ASP.Net MVC 2.0 Html.HiddenFor
- asp.net-mvc – Asp.Net MVC2 RenderAction更改页
- ASP.NET Core 认证与授权[4]:JwtBearer认证