DotNetOpenAuth vez en cuando lanza una NotImplementedException
-
12-10-2019 - |
Pregunta
Tengo DotNetOpenAuth que se ejecuta en un subproceso de fondo haciendo llamadas a Google autorizada con OAuth sobre una base regular.
Una vez al día, que es aproximadamente uno de cada 10.000 llamadas, me sale el siguiente excepción:
Una excepción no controlada y el proceso se terminó. ID de aplicación: DefaultDomain Proceso ID: 3316 Excepción: System.NotImplementedException Mensaje: no se implementa el método o el funcionamiento. StackTrace: en DotNetOpenAuth.Messaging.ProtocolException.GetObjectData (SerializationInfo información, el contexto StreamingContext) en c: \ Users \ andarno \ git \ dotnetopenid \ src \ DotNetOpenAuth \ Mensajería \ ProtocolException.cs: la línea 90 en System.Runtime.Serialization.Formatters. Binary.WriteObjectInfo.InitSerialize (Object obj, ISurrogateSelector surrogateSelector, el contexto StreamingContext, serObjectInfoInit serObjectInfoInit, IFormatterConverter convertidor, objectWriter objectWriter, SerializationBinder aglutinante) en System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize (Object obj, ISurrogateSelector surrogateSelector, el contexto StreamingContext , serObjectInfoInit serObjectInfoInit, IFormatterConverter convertidor, objectWriter objectWriter, SerializationBinder aglutinante) en System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize (gráfico de objetos, Header [] inHeaders, __BinaryWriter serWriter, Boolean fcheck) en System.Runtime.Serialization.Formatters .Binary.BinaryFormatter.Serialize (Stre am serializationStream, gráfico de objetos, cabecera cabeceras [], Boolean fcheck) en System.Runtime.Remoting.Channels.CrossAppDomainSerializer.SerializeObject (Object obj, MemoryStream stm) en System.AppDomain.Serialize (Object o) en System.AppDomain.MarshalObject ( Object o)
Si se arrojó y atrapó una vez al día estaría bien, pero esto es un grande - Me estoy poniendo esto en el registro de errores en el servidor, y se está rompiendo el proceso completo - el sitio se cae y se reinicia.
¿Alguien más ha funcionado en esto? Algo que yo estoy haciendo claramente erróneo?
Solución
Parece que el servidor está intentando serializar un DotNetOpenAuth.Messaging.ProtocolException
, lo que no (en la actualidad) serialización apoyo. Sin embargo, esto sugiere que hay un problema antes de esto que no se informó debido a que en la notificación del problema llegamos a otro. Si tiene registros previos a este error puede ser que le ayudará a descubrir lo que este problema es líder.
Apoyo a la serialización de la ProtocolException para evitar este segundo problema es algo que debe solicitar en http://dotnetopenauth.uservoice.com / . Esas peticiones son considerados seriamente por lo que te recomendamos que presentes si quiere que esto esté arreglado.
En cuanto a por qué se va a traer abajo todo el proceso - mi conjetura es que el anterior, que es un problema al informar de un problema, y ??tal vez el anfitrión (ASP.NET presumiblemente) no está preparado para hacer frente a ese <. / p>