Вопрос

У меня есть Dotnetopenauth, работающий на фоновом потоке, который регулярно вызывает вызовы Google, авторизованные с OAuth.

Примерно раз в день, что составляет около одного из 10000 звонков, я получаю следующее исключение:

Произошло нездоровое исключение, и процесс был прекращен. Идентификатор приложения: Идентификатор процесса DefaultDomain: 3316 Исключение: System.notimplementedException Сообщение: метод или операция не реализованы. Stacktrace: at dotnetopenauth.messaging.protocolexception.getObjectData (serializationInfo info, streamingContext) в C: users andarno git dotnetopenid src dotnetopenauth messaging protocolexception.cs: line 90 at system.runtime.serialization.formaters. Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter, SerializationBinder binder) at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context , Serobjectinfoinit serobjectinfoinit, iformatterconverter converter, объект -объект -объект -объект, объект -объект, сериализационный связующий) в system.runtime.serialization.formatters.binary.objectwriter.serialize (объектный график, заголовок [] inhaders, __binarywriter serwriter, boolean fcheck) at systems.shiporizators. .Binary.binaryformatter.serialize (Stre Am SerializationStream, объект график, заголовок [] заголовки, логический fcheck) в system.runtime.remoting.channels.crossappdomainserializer.serializeobject (Object obj, MemoryStream STM) At System.Appdomain.Serialize (Object O) At System.Appdomain.marshAlobject (System.Pdomain.Serialize (Object O) At System.Appdomain.Marshalobjuct ( Объект o)

Если бы он был брошен и пойман один раз в день, что все будет в порядке, но это очень важно - я получаю это в журнале ошибок приложения на сервере, и он полностью сбоя процесса - сайт снижается и перезагружается.

Кто -нибудь еще столкнулся с этим? Что -то, что я явно делаю не так?

Это было полезно?

Решение

Похоже, сервер пытается сериализовать DotNetOpenAuth.Messaging.ProtocolException, который не (в настоящее время) поддерживает сериализацию. Тем не менее, это говорит о том, что до этого есть проблема, о которой не сообщается, потому что в сообщении о проблеме мы столкнулись с другой. Если у вас есть журналы, ведущие к этой ошибке, это может помочь вам раскрыть эту ведущую проблему.

Поддержка сериализации протоколексации, чтобы избежать этой второй проблемы, вы должны запросить http://dotnetopenauth.uservoice.com/. Анкет Эти запросы считаются серьезно, поэтому, пожалуйста, рассмотрите возможность его подачи, если вы хотите это исправить.

Что касается того, почему это снижает весь процесс - я предполагаю, что это так, что это проблема во время сообщения о проблеме, и, возможно, хост (предположительно ASP.NET) не готов к этому.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top