0
내 Form_Load background_worker_DoWork
내부에서 countAllBooksValue를 얻기 위해 wcf 서비스 호출을 사용하고 있습니다. 서비스에서 예외 예외가 클라이언트에 의해 catch되어야하는 오류 예외를 던지고 있지만 그것을 않습니다.클라이언트 측에서 예외를 던진 wcf 서비스를 잡는 방법
클라이언트 측
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
try
{
int countAllBooks = BookAgent.CountAllBooks();
e.Result = countAllBooks;
}
catch (FaultException ex)
{
MessageBox.Show(ex.Message);
}
}
서비스 측면
public int CountAllBooks()
{
throw new FaultException("Something bad happened!");
}
질문 :이 오류 예외가 클라이언트에 의해 사로 잡았되지 않는 이유는 무엇입니까?
BackgroundWorker_DoWork는 UI 스레드, 나는 실제로는 단지 표시되지, 사로 잡았 될 수 있다고 생각하지 않습니다 - 디버깅을 시도? –
방금 디버깅을 시도했는데 catch 블록이 전혀 작동하지 않고 서비스 측면에서 예외가 발생하고 클라이언트에 다시 전달되지 않습니다 – user2783193
계약에'FaultContract' 속성을 추가 했습니까? –