微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当将空参数传递给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.jb51.cc/csharp/97021.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐