SignalR .NET 客户端 - 解析值时遇到意外字符

2023-11-21

我正在尝试设置 .NET 客户端以从服务层向我的 SignalR 中心发送消息。我正在遵循本指南:http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-net-client#callserver

这就是我所拥有的:

        _hubConnection = new HubConnection(_baseUrl); // "http://localhost:3806"
        _hubProxy = _hubConnection.CreateHubProxy("AppHub");
        _hubConnection.Start().Wait();

该中心位于同一个项目内 - 它是一个具有表单身份验证的 MVC 应用程序。

我永远无法超越.Wait()调用时,总是会出现以下错误:

Message=Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
       Source=Newtonsoft.Json

更多踪迹:

在 Newtonsoft.Json.JsonConvert.DeserializeObject[T](字符串值) 在 Microsoft.AspNet.SignalR.Client.Transports.TransportHelper.b__1(字符串 生的) 在 Microsoft.AspNet.SignalR.TaskAsyncHelper.c__DisplayClass192.<Then>b__17(Task1 t) 在 Microsoft.AspNet.SignalR.TaskAsyncHelper.TaskRunners2.<>c__DisplayClass3a.<RunTask>b__39(Task1 t)

I have AppHub:

public class AppHub : Hub { .. }

我究竟做错了什么?


由于您正在使用表单身份验证,并且我看不到您在构造 HubConnection 时提供任何凭据,这可能是您的问题。本页讨论如何使用表单身份验证设置 SignalR 连接:http://www.asp.net/signalr/overview/signalr-20/security/hub-authorization

class Program
    {
    static void Main(string[] args)
    {
        var connection = new HubConnection("http://www.contoso.com/");
        Cookie returnedCookie;

        Console.Write("Enter user name: ");
        string username = Console.ReadLine();

        Console.Write("Enter password: ");
        string password = Console.ReadLine();

        var authResult = AuthenticateUser(username, password, out returnedCookie);

        if (authResult)
        {
            connection.CookieContainer = new CookieContainer();
            connection.CookieContainer.Add(returnedCookie);
            Console.WriteLine("Welcome " + username);
        }
        else
        {
            Console.WriteLine("Login failed");
        }    
    }

    private static bool AuthenticateUser(string user, string password, out Cookie authCookie)
    {
        var request = WebRequest.Create("https://www.contoso.com/RemoteLogin") as HttpWebRequest;
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.CookieContainer = new CookieContainer();

        var authCredentials = "UserName=" + user + "&Password=" + password;
        byte[] bytes = System.Text.Encoding.UTF8.GetBytes(authCredentials);
        request.ContentLength = bytes.Length;
        using (var requestStream = request.GetRequestStream())
        {
            requestStream.Write(bytes, 0, bytes.Length);
        }

        using (var response = request.GetResponse() as HttpWebResponse)
        {
            authCookie = response.Cookies[FormsAuthentication.FormsCookieName];
        }

        if (authCookie != null)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

远程登录页面:

using System;
using System.Web.Security;

namespace SignalRWithConsoleChat
{
    public partial class RemoteLogin : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string username = Request["UserName"];
            string password = Request["Password"];
            bool result = Membership.ValidateUser(username, password);
            if (result)
            {
                FormsAuthentication.SetAuthCookie(username, false);
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SignalR .NET 客户端 - 解析值时遇到意外字符 的相关文章

  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 按成员序列化

    我已经实现了template
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • IEnumerable 与 IReadOnlyList

    选择有什么区别IEnumerable
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • 当用户在输入字段中键入字符时突出显示 DIV 的文本

    我看过很多关于使用 javascript 在 DIV 中突出显示文本的帖子 但没有一个完全符合我的要求 我需要做的是在用户输入搜索词时逐个字符地突出显示特定 DIV 中的文本 相反 当用户退格或删除字符时 我需要 取消突出显示 同一 DIV
  • django.db.utils.IntegrityError:外键约束失败

    My 模型 py class Order models Model user models ForeignKey User blank True null True on delete models PROTECT customer ema
  • 如何从 Java 中的 SOAP 响应中提取数据?

    我设置了一个客户端来向国家气象局 SOAP 服务器发送请求 我收到了预期的响应 但我不确定从中提取所需数据的最佳方法 例如 XML 中有很多额外的数据 在 SOAPBody 中 但我只想获取我为 POJO 设置的参数 例如温度 的数据 提取
  • 从 JavaScript Online 访问客户端的“localhost”

    这就是我正在努力做的事情 我制作了一些包含 JavaScript 代码的 html 页面 并将它们托管在雅虎服务器上 现在 当具有特定浏览器的客户端查看这些网页时 JavaScript 代码使用XMLHTTPRequest在 h1ttp l
  • 向 Spring Boot 应用程序添加附加参数

    我想知道是否可以添加 spring 的附加参数 例如 Dspring profiles active prod到 Spring Boot 应用程序 以防将其作为service 我检查了自动生成的脚本spring boot maven plu
  • 如何在 Team Foundation Server 2015 中启用 C# 7 构建?

    我们在本地安装了 Team Foundation Server TFS 2015 我们希望使用 Visual Studio 2017 来利用最新的 C 语言功能 我们尚未准备好升级到 TFS 2017 需要执行哪些步骤才能在 TFS 201
  • 无法使用不同的用户名从 pg_dump 恢复 psql 数据库

    我需要使用 postgres 用户名 1 从计算机 1 转储一个 postgres 数据库 然后使用 postgres 用户名 2 将其恢复到计算机 2 上 我不断遇到错误 看起来备份文件想要使用 username1 当我在computer
  • 将值数组发送到 ruby​​ 中的 sql 查询?

    我正在努力解决似乎是红宝石语义问题 我正在写一个方法 需要一个参数数量可变从一个表单并创建一个Postgresql 查询 def self search params counter 0 query params each do key v
  • OpenX 异步标签

    我们都想让我们的网站更快 谷歌在这里展示了一些示例 http code google com speed articles html5 performance html 我们使用 OpenX 来提供广告 因此 假设浏览器支持 FF3 6 我
  • Boost.Multi precision cpp_int - 转换为字节数组?

    http www boost org doc libs 1 53 0 libs multi precision doc html index html 我刚刚开始探索这个图书馆 好像没有办法转换cpp int到一个字节数组中 有人可以看到这
  • 如果 go 中的一个 goroutine 发生错误,则关闭多个 goroutine

    考虑这个函数 func doAllWork error var wg sync WaitGroup for i 0 i lt 2 i wg add 1 go func defer wg Done for j 0 j lt 10 j resu
  • 从实现类调用 C# 接口默认方法

    C 8 支持接口中的默认方法实现 我的想法是将日志记录方法注入到这样的类中 public interface ILoggable void Log string message gt DoSomethingWith message publ
  • 什么是依赖属性?

    什么是 Net 中的依赖属性 尤其是在 WPF 上下文中 和普通房产有什么区别 我发现唯一有用且写得好的解释是 http www wpftutorial net dependencyproperties html 基本上 Dependenc
  • 通过应用内购买删除广告

    我正在寻找有关如何通过应用内购买删除应用程序中的广告的教程或解释 我会在我的应用程序中放置一些带有 ad mob 的广告 但我也希望用户在支付一点捐款时可以禁用这些广告 您是否知道可以在其中找到如何执行此操作的分步说明的网站或教程 或者我需
  • Android libc.so 崩溃?

    我正在使用 AndEngine 和PhysicsBox2DExtension 来制作游戏 我的游戏不断崩溃 我在未经过滤的 LogCat 中得到以下信息 07 06 13 25 27 266 I DEBUG 19582 07 06 13 2
  • 使用 React DropZone 将 CSV 转换为 JSON 客户端

    From 反应降落区 我收到一个带有 File preview 属性的 File 对象 其值为 blob url IE File preview blob http localhost 8080 52b6bad4 58f4 4ths a2f
  • 如何使用 ng2-charts 获取多个图表(条形图和折线图)?

    我有条形图 我想在此条形图上绘制平均线 我的解决方案 在数据集中 我添加类型为 的元素line https stackblitz com edit ng2 charts bar template file src 2Fapp 2Fapp c
  • 子字符串 md5 碰撞

    I need a 4 character hash At the moment I am taking the first 4 characters of a md5 hash I am hashing a string which is
  • kubernetes Python API 客户端:执行完整的 yaml 文件

    Kubernetes 有一个非常好的官方 Python API 客户端 API 客户端假设您将创建单独的资源 例如 Pod 或服务 并假设您将使用 Python 对象来撰写和创建 API 请求 但是 我想通过 Python 接口运行任意 k
  • SignalR .NET 客户端 - 解析值时遇到意外字符

    我正在尝试设置 NET 客户端以从服务层向我的 SignalR 中心发送消息 我正在遵循本指南 http www asp net signalr overview signalr 20 hubs api hubs api guide net