Signalr - 无法读取服务器上的查询字符串

2024-03-13

我在这里要疯了。我完成了 chatHub 教程,一切正常。我连接到服务器。我可以向每个客户广播一条消息。

然后我尝试添加查询字符串,因为我想获得有关我的用户的一些信息,因为许多用户可以在同一会话中连接。

这是我的 JavaScript

(function ($) {
            // Declare a proxy to reference the hub.
            var chat = $.connection.chatHub;
            //chat.state.userName = "test";
            //chat.qs = "userToken3=blablabla";
            chat.qs = { 'uid' : '2541fdsf862d' };
            //$.connection.chatHub.qs = {"userToken2" : 125457};
            // Create a function that the hub can call to broadcast messages.
            chat.client.broadcastMessage = function (name, message) {
                // Html encode display name and message.
                var encodedName = $('<div />').text(name).html();
                var encodedMsg = $('<div />').text(message).html();
                // Add the message to the page.
                $('#discussion').append('<li><strong>' + encodedName
                    + '</strong>:&nbsp;&nbsp;' + encodedMsg + '</li>');
            };
            // Get the user name and store it to prepend to messages.
            //$('#displayname').val(prompt('Enter your name:', ''));
            // Set initial focus to message input box.
            $('#message').focus();
            // Start the connection.
            $.connection.hub.start({ 'uid': '2541fdsf862d' }).done(function () {
                $('#sendmessage').click(function () {
                    // Call the Send method on the hub.
                    chat.server.send("user", $('#message').val());
                    // Clear text box and reset focus for next comment.
                    $('#message').val('').focus();
                });
            });
        })(jQuery);

如果我在这个函数中设置断点时查看我的监视列表,我可以看到查询字符串“uid”已完美设置。

但是在服务器上,我无法读取该参数。

public override Task OnConnected()
{
    string name = Context.User.Identity.Name;
    var caller = Clients.Caller;
    var username = Clients.Caller.userName; 
    var queryString = Context.Request.QueryString;
    var queryString2 = Context.QueryString;
    var uid = Context.QueryString["uid"];
    _connections.Add(name, Context.ConnectionId);

    return base.OnConnected();
}

在这种情况下,uid 为空。如果我查看服务器上的发送方法:

[Authorize]
public void Send(string name, string message)
{
    // Call the broadcastMessage method to update clients.
    Clients.All.broadcastMessage(name, message);
    var queryString = Context.Request.QueryString;
    var context = Context;
}

uid不可用在queryString多变的。

我的代码有什么问题吗?有人有任何线索吗?


我刚刚找到了解决方案。这是因为我必须通过以下方式传递查询字符串$.connection.hub而不是通过chat.qs

所以,解决方案是

$.connection.hub.qs = { 'uid': '2541fdsf862d' };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Signalr - 无法读取服务器上的查询字符串 的相关文章

  • 实体框架 - 循环更新属性

    我正在尝试找到一种方法来循环 EF 对象的属性并更新这些属性的值 更具体地说 我有 50 个字段 其中最多填充 50 个下拉列表 所有 50 个可能都需要填充 也可能不需要填充 为了解决这个问题 我有一个中继器 最多可以创建 50 个 DD
  • 如何使用movntdqa避免缓存污染?

    我正在尝试编写一个 memcpy 函数 该函数不会将源内存加载到 CPU 缓存中 目的是避免缓存污染 下面的 memcpy 函数可以工作 但会像标准 memcpy 一样污染缓存 我正在使用带有 Visual C 2008 Express 的
  • 如何将 pem 公钥转换为 openssl RSA* 结构

    假设我必须像这样公开 pem 密钥 BEGIN PUBLIC KEY MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp TR fQi
  • 线程安全的get(访问器方法)

    我目前正在使用以下代码对变量进行线程安全访问 int gnVariable void getVariableValue int pnValue acquireLock Acquires the protection mechanism pn
  • Model在MVC中的作用是什么?

    我读过一些有关 MVC 的文章 但有一点我不清楚 该模型在实际中的作用是什么 模型是否代表业务对象 或者它只是一个帮助将信息从控制器发送到视图的类 以两个业务类为例 从数据库填充数据 Class Image Property FileNam
  • 使用 ASP.Net 和 C# 统计网站的访问者数量

    我想跟踪我网站的访问者数量 我在 Global asax 类中尝试了以下代码
  • App.Config 和 Web.Config 之间的区别?

    当在 wpf 中构建桌面应用程序时 您可以阅读问题文档并在人们的答案引用 web config 时安全地替换 app config 吗 如果是这样 您是否需要注意任何明显的陷阱 tnx 阅读文档 http msdn microsoft co
  • 如何强制 Asp.Net Identity 2.0 使用自定义角色而不是 IdentityUserRole

    我已经扩展了 IdentityUserRole 如下 public class ApplicationUserRoles IdentityUserRole
  • 使用 C 创建立体声正弦波

    我正在尝试用 C 创建立体声正弦 WAV 并且可能有不同的 可能是空白的 左声道和右声道 使用此函数为每个通道生成一个音调 int16 t create tone float frequency float amplitude float
  • 从空白启动时 VSTO 功能区不显示解决方案

    如果我从 文件 新建项目 菜单创建一个新的 Excel 2013 和 2016 VSTO 加载项 项目 然后单击 项目 添加新项目 gt 功能区 可视化设计器 则一切正常 我启动了应用程序 我的功能区显示在 Excel 中 但是 如果我首先
  • 我应该使用函数还是无状态函子?

    这两段代码做同样的事情 如您所见 它将用于排序函数 哪个更好 我通常写后一种 但我看到一些程序员像以前那样做 struct val lessthan binary function
  • popen2()在c中如何工作?

    我尝试使用管道 叉子和 dup 在我的程序中执行 md5sume 命令 我发现总和代码运行成功 但我无法理解某些代码行 这是我的代码 int infp outfp char buf 128 if popen2 md5sum infp out
  • C++ 克隆惯用语中协变返回类型的用处?

    通常的克隆习惯使用协变返回类型 struct Base virtual Base clone struct Derived public Base Derived clone 我读过一些内容 大意是协变返回类型是 C 后来添加的 较旧的编译
  • NHibernate 中具有不同类型答案的问题

    我正在尝试找到一个问卷问题的简洁解决方案 假设我有一个Questionnaire类有一个集合Answers e g public class Questionnaire public virtual ISet
  • 让 WIX 在项目中包含引用

    我对 WiX 和设置自定义安装程序完全陌生 所以我对问题的主题表示歉意 我有一个内部业务应用程序 日记 它构建并运行良好 因此我按照教程 官方文档添加 WiX 项目并引用日记的 csproj 然后构建并运行这个最基本版本的 WiX 安装程序
  • 读取所有进程内存以查找字符串变量c#的地址

    我有 2 个用 C 编写的程序 第一个名为 ScanMe 的程序包含一个包含值 FINDMEEEEEEE 的字符串变量 以及一个值为 1546 22915487 的双精度变量 另一个名为 MemoryScan 的程序读取第一个程序的所有内存
  • 专家 C#/.Net/WPF 开发人员应该了解哪些知识? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Yield Return == IEnumerable 和 IEnumerator 吗?

    Is yield return实施的捷径IEnumerable and IEnumerator 是的 您可以在我的书 C in Depth 的第 6 章中找到更多相关信息 幸好第六章是免费提供 http www manning source
  • lambda 表达式是多线程的吗?

    lambda 表达式是多线程的吗 假设当你将数学公式编写为 lambda 方法时 当你将其传递给另一个方法时 它会是多线程的吗 不是100 清楚你问的是什么 您是否想问 lambda 是否自然地在不同的线程上运行 如果是这样 则它们只是 S
  • 如果未返回,则在一段时间后终止线程

    我有一个线程从网络或串行端口获取一些数据 如果 5 秒内没有收到数据 则线程必须终止 或返回 false 换句话说 如果线程运行时间超过 5 秒 则必须停止 我用 C 编写 但任何 NET 语言都可以 有两种方法 1 封装超时 从网络或串行

随机推荐

  • 快速调整每个故事板问题的大小

    我想知道是否有人可以告诉我如何编写此代码 以便它自动调整大小以适应不同的屏幕尺寸 我有 4 个屏幕尺寸不同的故事板 只是想要一种显示代码的方法 如果这个故事板那么 数字改变 遵循这个代码 否则 数字根据故事板大小而变化 这个代码 我已经尝试
  • Git 克隆错误“CONNECT 后来自代理的 HTTP 代码 504”

    我在公司防火墙后面的办公室工作 我的系统是Windows 7 使用consola组件 通常我需要设置代理连接才能让 GIT 与 github 一起工作 但是当我尝试克隆存储在私有 Stash Atlassian 中的存储库时 我收到此错误
  • 甲骨文移动平均线

    我有一个表 日期 有效负载 其中包含大约 10 年的数据 我想计算移动平均值 MA 以基于 14 天 2 周 和 90 天 12 周 间隔显示有效负载的趋势 我已经编写了这个查询 但它给了我错误的值 SELECT x ABS LTMA ST
  • 解析 phantomjs 中的 post 数据

    I am working with the POSTMAN extension to chrome and am trying to send a post request to phantomjs I have managed to se
  • Visual Studio 2008 中 BizTalk 架构项目的引用问题

    在大型 VS 2008 解决方案中 我们有不同的架构项目和映射项目 映射项目引用了适当的模式项目 总体来说效果很好 但是 最近我添加了一个新的架构项目 它始终如一地给出了同样的问题 当我向其中添加新架构 并且想要在已引用该架构项目的映射项目
  • 在Puppeteer中进行网页抓取时如何处理验证码?

    我正在使用 Puppeteer 进行网页抓取 我刚刚注意到 有时 由于我通过计算机进行的访问量很大 我尝试抓取的网站会要求输入验证码 验证码形式如下所示 因此 我需要有关如何处理此问题的帮助 自从我使用 Express 和 EJS 将值发送
  • 使用 iframe 时,Angular 2 应用程序组件 ngOnInit 被调用两次

    我正在开发一个 Angular 2 应用程序 该应用程序将通过其他网站上的 iframe 进行交付 在测试时我注意到当我加载应用程序时应用程序组件ngOnInit 函数被调用两次 我觉得这很奇怪 因为当我 自己 测试应用程序时 即不是通过
  • 如何使用 javascript 提取并更改 url 路径?

    我正在尝试提取部分 url 并使用 javascript 将其替换为自定义文本 例如 我想获取当前的 url 例如 mydomain com url part to change some other stuff 然后更改要插入的 url
  • 如何将对象文字作为聚合物属性传递

    为了单独测试我的一些聚合物自定义元素 我希望能够传入 js 对象文字来获取通常来自父元素的一些属性 我很难弄清楚如何做到这一点 请参阅此示例代码 如果它按照我希望的方式工作 它会显示一个 1 和一个 2 彼此相邻 但它不起作用
  • 如何在可内容编辑的 DIV 中查找光标位置?

    我正在为内容可编辑 DIV 编写一个自动完成器 需要在文本框中呈现 html 内容 因此更喜欢使用 contenteditable DIV 而不是 TEXTAREA 现在我需要在 DIV 中有 keyup keydown click 事件时
  • 对于自定义表单组件,是否可以使用 DefaultValueAccessor 而不是 ControlValueAccessor?

    我需要能够使用formControlName我的自定义组件的指令 我一直在阅读有关实施的多个SO问题ControlValueAccessor对于一个子组件来说 这一切看起来都非常脆弱 很多例子都在转变 div or span 元素转换为表单
  • ReactforwardRef 似乎不适用于 bootstrap Overlay

    根据React Bootstrap 覆盖文档 https react bootstrap github io components overlays 覆盖的目标应该是the element the overlay is positioned
  • Firefox 中未定义 Intl

    我有以下java脚本代码 它在chrome中运行良好 但在firefox和IE中运行失败 FF 的错误消息是 ReferenceError Intl is not Define IE 的错误消息是 SCRIPT5009 Intl 未定义 我
  • gettext,如何处理同音异义词?

    使用 gettext 单值 echo gettext Hello world n Plurals printf ngettext d comment d comments n n 英文同音字 echo gettext Letter as i
  • 交互运行 cypress 命令

    是否可以打开浏览器并交互运行 cypress 测试命令 类似于使用scriptsChrome 开发者工具中的选项卡 每次启动浏览器运行测试花费的时间太长 我理解这种痛苦 但据我所知 赛普拉斯的自动扫描功能会在您更新测试时 重新运行 测试 换
  • 如何使用 python 跳过数据集数据类型错误的行

    一直致力于数据集清理和处理数据以进行进一步分析 我使用了不同的清理脚本 每当数据集列之间出现任何不需要的 异常数据时 我的脚本就会中止 脚本执行会卡住并且其余数据不会得到处理 我尝试使用的脚本 import pandas as pd imp
  • 如何在 git-commit 上的 vim 中启用拼写检查

    我正在尝试在 Vim 中启用该拼写 以防编辑 git 提交消息 文件名是固定的 因此 autocmd 没有帮助 我在最初的消息中放置了一个模型行 但是ftpplugin gitcommit vim禁用模型行 为 git commit 情况自
  • 将数组作为结构体访问 *

    这是其中之一我认为这应该有效 但最好检查一下问题 它在我的机器上编译并运行良好 这是否保证达到我的预期 即允许我访问数组的前几个元素 并保证结构的布局 对齐 填充等与数组相同 struct thingStruct int a int b i
  • 使用 JPA 的 select 子句中的 Suqueries

    我需要使用 Apache Openjpa 2 在 select 子句中执行子查询 JPA 是否支持 SELECT 子句中的子查询 我的查询是这样的 SELECT t date t value SELECT COUNT DISTINCT t2
  • Signalr - 无法读取服务器上的查询字符串

    我在这里要疯了 我完成了 chatHub 教程 一切正常 我连接到服务器 我可以向每个客户广播一条消息 然后我尝试添加查询字符串 因为我想获得有关我的用户的一些信息 因为许多用户可以在同一会话中连接 这是我的 JavaScript func