0
在我的wcf服務中我有暴露給服務客戶端的方法。這個方法用FaultContract屬性裝飾,所以我可以返回並捕獲自定義異常。WCF服務拋出異常,但客戶端永遠不會收到它
內IBookService我
[FaultContract(typeof(BookServiceAuthorizeFault))]
[OperationContract]
IEnumerable<string> GetAllBookTitlesFromSpecificGenre(string genre);
在這個定製的類型故障包裹在裏面
[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實現此接口我故意拋出異常
public IEnumerable<string> GetAllBookTitlesFromSpecificGenre(string genre)
{
throw new FaultException<BookServiceAuthorizeFault>(new BookServiceAuthorizeFault("Unauthorize access"));
}
終於在服務客戶端我想抓住這個異常
catch (FaultException<BookServiceAuthorizeFault> bsaf)
{
MessageBox.Show(bsaf.Message);
}
但我這個catch塊永遠不會hitted,我就public IEnumerable<string> GetAllBookTitlesFromSpecificGenre(string genre)
我在做什麼錯在這裏得到未處理的用戶異常,在服務端 ?