У меня есть служба WCF, которая выдает исключение, которое я безуспешно пытаюсь перехватить в своем клиентском коде Silverlight.Я использую необъявленные ошибки в целях отладки, и это мой метод обслуживания:
[OperationContract]
public ServiceResponse MyWCFServiceMethod()
{
ServiceResponse resp = new ServiceResponse ();
//code for setting resp...
//purposely throw error here.
throw new FaultException(new FaultReason(new FaultReasonText("My fault Reason!")),new FaultCode("my fault code here"));
return resp;
}
Теперь в моей модели представления клиента Silverlight, в методе обратного вызова службы, я пытаюсь обработать это следующим образом:
private void MyServiceCallback(MyWCFServiceMethodCompletedEventArgs e)
{
if (e.Error == null)
{
//proceed normally
}
else if (e.Error is FaultException)
{
FaultException<ExceptionDetail> fault = e.Error as FaultException<ExceptionDetail>;
MessageBox.Show(fault.Detail.Message);
MessageBox.Show(fault.Reason.ToString());
}
}
в этой строке else if (e.Error is FaultException)
Я все еще получаю System.Net.WebException {Удаленный сервер возвратил ошибку: NotFound.}
Это записи конфигурации
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
Это объявление класса обслуживания
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MySilverlightWCFService
{
....
Этот сервис находится в другом проекте в том же решении Silverlight.Почему мой клиент Silverlight не может получить исключение по вине, которое я генерирую?
Спасибо за ваше время ...