2015-08-09 9 views
1

У меня есть сервис, сконфигурированный для FaultException, но на стороне клиента, я не получаю исключение попавшего вWCF FaultException <T> не зажаты клиента, а не пойманы в вине службы

catch (FaultException<MyServiceFault> fe) 
{ 
} 

вместо этого она всегда попавшего в

catch (FaultException fx) 
{ 
} 

Я использую selfhost и channelelfactory.

моя служба:

[FaultContract(typeof(MyServiceFault))] 
public string HelloWorld() 
{ 
    int a=5; 
    try 
    { 
     var b = a/0; 
    } 
    catch(Exception e) 
    { 
     throw new FaultException<MyServiceFault>(new MyServiceFault(){Message ="Divide by zero"}, "Divide by Zero"); 
    } 
} 

У меня также есть атрибут на MyServiceFault[DataContract]. Мне интересно, если я пропущу любую конфигурацию.

+0

Все это выглядит правильно для меня; можете ли вы указать сведения об устранении ошибки, которую вы получаете? –

ответ

0

Я ответил на аналогичный вопрос здесь: Proper way to throw exception over WCF

Пытаться объявить операцию, как это:

[FaultContractAttribute(
     typeof(MyServiceFault), 
     Action = "", 
     Name = "MyServiceFault", 
     Namespace = "YourNamespace")] 
public string HelloWorld() 

Надеется, что это помогает.