2010-12-20 1 views
0

WPF 응용 프로그램을 Silverlight로 마이그레이션하고 있습니다. 내 WPF 응용 프로그램은 BackgroundWorker를 사용하여 웹 서비스에 액세스합니다. 내 Silverlight 응용 프로그램에서 예를WCF 클라이언트가 "원격 서버에서 오류를 반환했습니다 : NotFound"오류를 반환합니다.

There was no endpoint listening at http://localhost:8080/services/registration 
that could accept the message. This is often caused by an incorrect address or 
SOAP action. See InnerException, if present, for more details. 

, 나는 내 콜백에서 광범위한 오류 메시지가 웹 서비스에 액세스하는 동안 오류가있을 경우, 나는 비동기 적으로 동일한 웹 서비스에 액세스하고 지금 내 오류 메시지는 매우 아니다 예를 들면 다음과 같습니다.

The remote server returned an error: NotFound. 

웹 서비스는 변경되지 않았습니다. Fiddler에서 서버의 오류가 표시됩니다. 그래서 질문은 Silverlight 클라이언트에 대한 자세한 오류 메시지를 얻는 방법입니다.

Silverlight 응용 프로그램에서 내 콜백 (내가 e.Error.Message에서 오류 메시지에 접근하고) 다음과 같다

:

private void AuthenticateUserCallback(object sender, AuthenticateUserCompletedEventArgs e) 
{ 
    if (e.Error != null) 
    { 
     this.StatusMessage = e.Error.Message; 
    } 

    ... 
} 

답변

0

이 SL은 전체 예외 메시지에 액세스 할 수 없습니다 때문에되는 브라우저 스택 제한입니다 . MSDN 기사를보십시오 here 접근법은 의미있는 오류 (클라이언트가 항상 HTTP OK 200을 얻음을 의미 함)로 예외를 래핑하고 클라이언트 측에서 사용자 지정 예외 처리를 수행하는 것입니다.

+0

감사합니다. Chandermani. 매우 유용한 링크. – Naresh