Asp.net 当connectionData被更改/无效时,如何处理Signal协商500服务器错误?

Asp.net 当connectionData被更改/无效时,如何处理Signal协商500服务器错误?,asp.net,json,signalr,Asp.net,Json,Signalr,我们正在使用AppScan测试应用程序对任何类型恶意攻击的漏洞。由于我们在应用程序中使用SignarR,AppScan的目标是: 以及修改connectionData值(例如,将其设置为%27)。这导致服务器抛出以下错误: 异常源Newtonsoft.Json消息将值“{”name“:“homepagehub”}>“>”转换为类型“Microsoft.AspNet.signar.Hubs.HubDispatcher+ClientHubInfo.”路径“[0]”,第1行,位置121。Newton

我们正在使用AppScan测试应用程序对任何类型恶意攻击的漏洞。由于我们在应用程序中使用SignarR,AppScan的目标是:

以及修改connectionData值(例如,将其设置为%27)。这导致服务器抛出以下错误:

异常源Newtonsoft.Json消息将值“{”name“:“homepagehub”}>“>”转换为类型“Microsoft.AspNet.signar.Hubs.HubDispatcher+ClientHubInfo.”路径“[0]”,第1行,位置121。Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType处的堆栈跟踪错误(JsonReader阅读器,对象值,CultureInfo区域性,JsonContract合同,类型targetType) 位于Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader阅读器,类型objectType,JsonContract合同,JsonProperty成员,JsonContainerContract容器合同,JsonProperty容器成员,对象existingValue) 位于Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList列表、JsonReader阅读器、JsonArrayContract契约、JsonProperty容器属性、字符串id) 位于Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader阅读器,类型objectType,JsonContract合约,JsonProperty成员,对象existingValue,字符串id) 位于Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader阅读器,类型objectType,JsonContract合同,JsonProperty成员,JsonContainerContract容器合同,JsonProperty容器成员,对象existingValue) 在Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader阅读器,类型objectType,Boolean checkAdditionalContent) 位于Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader,类型objectType) 在Microsoft.AspNet.signal.Json.JsonSerializer.Parse[T](JsonSerializer序列化程序,字符串Json) 位于Microsoft.AspNet.signal.Hubs.HubDispatcher.AuthorizeRequest(IRequest请求) 位于Microsoft.AspNet.signal.PersistentConnection.ProcessRequest(IDictionary`2环境) 在Microsoft.Owin.Mapping.MapMiddleware.d_u0.MoveNext()中 -来自引发异常的上一个位置的堆栈结束跟踪- 在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()中 位于Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.EndFinalWork(IAsyncResult ar) 在System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成) 基本例外 源Newtonsoft.Json 消息无法从System.String强制转换或转换为Microsoft.AspNet.signal.Hubs.HubDispatcher+ClientHubInfo。 Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable处的堆栈跟踪(对象值,类型initialType,类型targetType) 位于Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(对象初始值,CultureInfo区域性,键入targetType) 在Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader阅读器,对象值,CultureInfo区域性,JsonContract契约,类型targetType) 查询字符串值 -客户端协议1.5 -连接数据 {\'name\':\'homepagehub\'}>\'>'] -_1450307725286

现在我明白发生了什么,但我的问题是什么是处理此错误的最佳方式?我如何以及在哪里可以尝试、捕获和处理这些错误?在我看来,signalR应该以某种优雅的方式处理无效的json请求数据,但可能我在这方面错了?有人对如何解决此问题有任何建议吗