Windows Cashdot을 백그라운드 작업으로 사용하여 사용자 프로필에 사진을 업로드하는 데 Facebook C# SDK를 사용하고 있습니다. 그리고 내가 생각할 수있는 거의 모든 곳에서 예외를 기록하고 있으며, 대부분 잘 작동합니다. 그러나 때때로, 그리고 때때로, 나는 꽤 자주 내 핸들러에 의해 잡힐하지 않으며, Windows 이벤트 로거에 의해 기록됩니다 다음과 같은 예외를 얻을, 내 서비스 종료된다의 모습에서게시 할 때 Facebook C# sdk 무작위 예외
Application: PhotoService.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Exception
Stack:
at System.Net.Security._SslStream.WriteCallback(System.IAsyncResult)
at System.Net.LazyAsyncResult.Complete(IntPtr)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Net.ContextAwareResult.Complete(IntPtr)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
을 그것은 FacebookClient.PostTaskAsync() 메서드 호출에서 발생하지만 제한된 스택 추적 정보로 문제를 해결하는 방법을 알지 못합니다.
이public void PostPhotoToTimeline(string filename, byte[] photo, EventHandler<FacebookApiEventArgs> callbackCompleted)
{
var _filename = filename;
var mediaObject = new FacebookMediaObject
{
ContentType = "image/jpeg",
FileName = _filename
}.SetValue(photo);
_fb.PostCompleted += callbackCompleted;
var parameters = new Dictionary<string, object>();
parameters["file"] = mediaObject;
_fb.PostTaskAsync("/me/photos", parameters);
}
순간에 나의 가장 큰 문제는,이 예외가 발생하면,이 서비스를 종료하고, 내가 서비스 모니터링은 아직 설정하지 않는, 그래서 나를 위해 어떤 방식 : 다음은 내 사진 게시 방법 블록 서비스가 중지되었는지 확인하십시오. 올바르게 이해하면이 예외는 별도의 스레드에서 발생하며 처리되지 않으므로 전체 서비스가 중단됩니다. 이 올바른지? 왜 이런 일이 일어날 지, 그리고 전에 어디에서이 예외를 겪었는지 아는 사람이 있습니까? 이러한 예기치 않은 예외를 잡으려고 'legacyUnhandledExceptionPolicy'에 대해 읽었습니다. 이로 인해 내 서비스가 종료되지 않으며 사용하는 것이 좋은가요? 미안 한 질문에 너무 많은 질문을하는 경우이 모든 것들이 관련되어 있으며 Google은 지금까지 내 친구가 아니 었습니다. 제공 할 수있는 도움에 감사드립니다.