【问题标题】:Creating Windows Forms .Net Core app with SignalR使用 SignalR 创建 Windows Forms .Net Core 应用程序
【发布时间】:2021-07-05 01:46:23
【问题描述】:

我使用 SignalR .Net 客户端创建了一个 Windows Forms .Net Core 应用程序。我按照这篇文章https://docs.microsoft.com/en-us/aspnet/core/signalr/dotnet-client?view=aspnetcore-5.0&tabs=visual-studio添加包并连接到服务器。当服务器不使用 NewtonsoftJson 进行序列化\反序列化时,一切正常。一旦我启用 NewtonsoftJson 序列化\反序列化(序列化\反序列化在服务器上 100% 正确工作,我可以使用用 JavaScript 编写的客户端进行测试),服务器上的 JsonProperty 属性如下所示

[JsonProperty(PropertyName = "EDT")]
public List<UpdateEDT> EDTs { get; set; }

始终设置为 null,因为我怀疑 SignalR Core 客户端库不会使用 NewtonsoftJson 序列化类。我尝试安装 Microsoft.AspNetCore.Mvc.NewtonsoftJson 和 Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson nuget 包,并尝试添加 AddNewtonsoftJsonProtocol() 如下

connection = new HubConnectionBuilder()
                .WithUrl("https://xxxxx/chat?access_token=" + token)
                .AddNewtonsoftJsonProtocol()
                .WithAutomaticReconnect()
                .Build();            

但找不到 AddNewtonsoftJsonProtocol()。我的问题是如何配置 SignalR .Net Core 客户端库以使用 Newtonsoft 进行序列化和反序列化?谢谢。

【问题讨论】:

    标签: json .net-core json.net signalr


    【解决方案1】:

    事实证明,我做的一切都是正确的,但错过了一条 using 语句:

    using Microsoft.Extensions.DependencyInjection;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 2016-05-19
      • 2021-03-23
      • 2020-01-25
      • 1970-01-01
      相关资源
      最近更新 更多