使用SignalR创建Windows Forms.Net Core应用程序



我已经用SignalR.Net客户端创建了一个Windows Forms.Net Core应用程序。我关注这篇文章https://learn.microsoft.com/en-us/aspnet/core/signalr/dotnet-client?view=aspnetcore-5.0&tabs=visualstudio以添加程序包并连接到服务器。当服务器不使用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进行序列化和反序列化?谢谢

事实证明,我做的每件事都是正确的,但错过了一个使用语句:

using Microsoft.Extensions.DependencyInjection;

最新更新