当将空参数传递给SignalR客户端代理时,c# – “值不能为空”

前端之家收集整理的这篇文章主要介绍了当将空参数传递给SignalR客户端代理时,c# – “值不能为空”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用SignalR(v2.0.2)我得到这个例外:
Value cannot be null.
Parameter name: o
   at Newtonsoft.Json.Utilities.ValidationUtils.ArgumentNotNull(Object value,String parameterName)
   at Newtonsoft.Json.Linq.JToken.FromObjectInternal(Object o,JsonSerializer jsonSerializer)
   at Newtonsoft.Json.Linq.JToken.FromObject(Object o,JsonSerializer jsonSerializer)
   at Microsoft.AspNet.SignalR.Client.Hubs.HubProxy.Invoke[T](String method,Object[] args)

我用反射来调用HubProxy,而且我传递一些引发这个错误的空参数(也就是说,Object []中的某些项目是空值)).但是,将一个参数传递给一个方法是一个完全合法的事情.这是SignalR中的一个错误,因为它试图序列化空参数,或者是Json.NET(v6.0.1)中的一个错误,因为它不应该尝试序列化一个空对象?

解决方法

事实证明,这是已经修复的SignalR中的已知错误,并且将被包含在即将到来的2.2.1版本中.看他们的票 here.
原文链接:https://www.f2er.com/csharp/97021.html

猜你在找的C#相关文章