0

バックグラウンド スレッドで DotNetOpenAuth を実行して、OAuth で承認された Google を定期的に呼び出しています。

約 10,000 回の呼び出しに 1 回、1 日に約 1 回、次の例外が発生します。

未処理の例外が発生し、プロセスが終了しました。アプリケーション ID: DefaultDomain プロセス ID: 3316 例外: System.NotImplementedException メッセージ: メソッドまたは操作が実装されていません。StackTrace: System.Runtime.Serialization.Formatters の c:\Users\andarno\git\dotnetopenid\src\DotNetOpenAuth\Messaging\ProtocolException.cs:line 90 の DotNetOpenAuth.Messaging.ProtocolException.GetObjectData(SerializationInfo info, StreamingContext context) で。 Binary.WriteObjectInfo.InitSerialize(オブジェクト obj、ISurrogateSelector surrogateSelector、StreamingContext コンテキスト、SerObjectInfoInit serObjectInfoInit、IFormatterConverter コンバーター、ObjectWriter objectWriter、SerializationBinder バインダー) 、

1日に1回スローされてキャッチされた場合は問題ありませんが、これは大きな問題です-サーバーのアプリケーションエラーログにこれが表示され、プロセスが完全にクラッシュしています-サイトがダウンして再起動します.

他の誰かがこれに遭遇しましたか?私が明らかに間違っていることはありますか?

4

1 に答える 1

1

サーバーは、DotNetOpenAuth.Messaging.ProtocolException(現在) シリアル化をサポートしていない をシリアル化しようとしているようです。ただし、これは、問題の報告で別の問題に遭遇したため、これより前に報告されていない問題があることを示唆しています。このエラーに至るまでのログがある場合は、この主要な問題が何であるかを明らかにするのに役立つ場合があります。

この 2 番目の問題を回避するために ProtocolException のシリアル化をサポートすることは、http://dotnetopenauth.uservoice.com/でリクエストする必要があります。これらのリクエストは真剣に検討されるため、これを修正したい場合は提出することを検討してください。

プロセス全体が停止する理由については、上記のように、問題を報告しているときに問題が発生し、ホスト (おそらく ASP.NET) がそれに対処する準備ができていない可能性があると思います。

于 2010-12-26T06:46:21.850 に答える