А применение одноуровневых может различать исключения по:Поймать Конкретная WCF FaultException
Exception ex;
if (ex is System.DirectoryServices.AccountManagement.PasswordException)
...
где ех просто родовое исключение.
Когда вы переходите к WCF для многоуровневого уровня, вы теряете все это, и вам нужно использовать механизм FaultException.
Проблема в том, что я не могу найти способ сделать это.
В моем клиенте я хочу, чтобы поймать типы FaultException, а затем различать между ними то есть что-то вроде:
catch (FaultException ex)
{
if FaultException is (PasswordExceptionFault)
...
etc
}
Есть ли способ сделать это?
В противном случае у меня должно быть много конструкций catch - по одному для каждого типа исключения FaultException.
Исключения, безусловно, сериализации, то вся суть [этого перегруженного конструктора] (http://msdn.microsoft.com/en-us/library/tz6bzkbf .aspx). Однако не все исключения реализуют его правильно (* блики в DirectoryServicesCOMException *). –