我正在尝试解决我们在网络应用程序上使用 REDIS 缓存时遇到的特定问题,但需要帮助理解堆栈跟踪。
当用户查看报表查看器时,我们间歇性地在我们的错误表中记录了Exception has been thrown by the target of an invocation
,但没有迹象表明客户端出现任何问题。
我已经通读了这篇文章:How to solve: "exception was thrown by the target of invocation" C#但是它似乎没有涵盖我们的具体问题。
我们的记录器记录的堆栈跟踪;
at System.RuntimeMethodHandle.SerializationInvoke(IRuntimeMethodInfo method, Object target, SerializationInfo info, StreamingContext& context) at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context) at System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder) at System.Runtime.Serialization.ObjectManager.DoFixups() at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at Microsoft.Web.Redis.BinarySerializer.Deserialize(Byte[] data) in D:\BuildAgent\work\f55792526e6d9089\src\Shared\BinarySerializer.cs:line 37 at Microsoft.Web.Redis.ChangeTrackingSessionStateItemCollection.GetData(String normalizedName) in D:\BuildAgent\work\f55792526e6d9089\src\Shared\ChangeTrackingSessionStateItemCollection.cs:line 156 at Microsoft.Web.Redis.ChangeTrackingSessionStateItemCollection.get_Item(String name) in D:\BuildAgent\work\f55792526e6d9089\src\Shared\ChangeTrackingSessionStateItemCollection.cs:line 141 at System.Web.SessionState.HttpSessionStateContainer.get_Item(String name) at Microsoft.Reporting.WebForms.ViewerDataOperation..ctor() at Microsoft.Reporting.WebForms.HttpHandler.GetHandler(String operationType) at Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
最佳答案
看起来是反序列化过程中的一个问题。类定义在序列化和反序列化之间是否发生了变化?
关于sql-server - 调用的目标抛出了异常。 (REDIS缓存),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46214676/