wcf 서비스 내에서 서비스 클라이언트에 메서드가 노출되었습니다. 이 메서드는 FaultContract 특성으로 장식되어 있으므로 사용자 지정 예외를 반환하고 catch 할 수 있습니다. 나는 사용자 지정 오류를 입력 WCF 서비스가 예외를 throw하지만 클라이언트가이를받지 못함
[FaultContract(typeof(BookServiceAuthorizeFault))]
[OperationContract]
IEnumerable<string> GetAllBookTitlesFromSpecificGenre(string genre);
이 목적 던지는 예외
public IEnumerable<string> GetAllBookTitlesFromSpecificGenre(string genre)
{
throw new FaultException<BookServiceAuthorizeFault>(new BookServiceAuthorizeFault("Unauthorize access"));
}
마지막에에이 인터페이스 I를 구현
[DataContract]
public sealed class BookServiceAuthorizeFault
{
private string _Message;
public BookServiceAuthorizeFault(string message)
{
_Message = message;
}
[DataMember]
public string Message
{
get { return _Message; }
set { _Message = value; }
}
}
Insude 서비스 내부에 싸여있다가 IBookService 내부
클라이언트 쪽이 예외를 catch하려면
catch (FaultException<BookServiceAuthorizeFault> bsaf)
{
MessageBox.Show(bsaf.Message);
}
하지만이 catch 블록은 hitted되지 않습니다, 나는 public IEnumerable<string> GetAllBookTitlesFromSpecificGenre(string genre)
내가 잘못 여기서 뭐하는거야에 서비스 측면 에서 사용자 처리되지 않은 예외가 받고 있어요?