Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Signalr 信号器2.0.0/JsonSerializerSettings:阅读器';已超过最大深度20_Signalr - Fatal编程技术网

Signalr 信号器2.0.0/JsonSerializerSettings:阅读器';已超过最大深度20

Signalr 信号器2.0.0/JsonSerializerSettings:阅读器';已超过最大深度20,signalr,Signalr,使用信号器2.0.0向服务器发送消息时,我收到以下错误: 信号器:已超过读卡器的最大深度20 我正在为DI使用Unity,并尝试注册JsonSerializer的一个实例: GlobalHost.DependencyResolver.Register( typeof (JsonSerializer), () => JsonSerializer.Create( new JsonSerializerSettings {

使用信号器2.0.0向服务器发送消息时,我收到以下错误:

信号器:已超过读卡器的最大深度20

我正在为DI使用Unity,并尝试注册JsonSerializer的一个实例:

GlobalHost.DependencyResolver.Register(
    typeof (JsonSerializer),
    () => JsonSerializer.Create(
         new JsonSerializerSettings
         {
             ContractResolver = new DefaultContractResolver(),
             MaxDepth = int.MaxValue
         }));
我试过这样做:

object IDependencyResolver.GetService(Type serviceType)
{
    var result = _container.IsRegistered(serviceType) ? _container.Resolve(serviceType) : base.GetService(serviceType);

    if (result != null && result.GetType().FullName.Equals("Newtonsoft.Json.JsonSerializer", StringComparison.OrdinalIgnoreCase))
    {
        ((Newtonsoft.Json.JsonSerializer) result).MaxDepth = int.MaxValue;
    }

    return result;
}

这个错误不会消失。这就好像Signal只是在使用JsonSerializer的另一个实例。

我在GitHub上记录了以下问题:

这似乎是一个已知的问题,所以我们的解决方案是用一个webapi-Ajax POST替换将消息推送到后端的signar位