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