Диагностика исключения связи из-за десериализации DataContract в WCF
Я получаю следующее исключение без подробностей о том, что именно не так. Я знаю, что это происходит из-за десериализации DataContract на стороне бизнеса. Существует эквивалент DataContract на месте с обеих сторон провода (клиент и бизнес).
System.ServiceModel.CommunicationObjectFaptedException: "Объект связи, System.ServiceModel.Channels.ServiceChannel, не может использоваться для связи, поскольку он находится в состоянии Failed."
Из-за сложности домена здесь трудно добавить ссылку, но до сих пор я выделял и решал эти проблемы, удаляя [DataMember]
из свойств [DataContract]
в клиентской части провода. Я могу продолжать решать эту проблему, но это для меня утомительная работа, и на нее уходит довольно много времени, поэтому мне просто интересно узнать, может ли WCF сама определить проблему, предоставив подробности в возвращенном исключении на стороне клиента.
Мой сервис app.config
<system.serviceModel>
<services>
<service name="FSX.Business.Managers.ExecutionManager"
behaviorConfiguration="Debugging">
<endpoint address="net.tcp://localhost:8009/ExecutionService"
binding="netTcpBinding"
contract="FSX.Business.Contracts.IExecutionService" />
</service>
</services>
<bindings>
<netTcpBinding>
<binding maxReceivedMessageSize="2000000" transactionFlow="true">
<reliableSession enabled="true"/>
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="Debugging">
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Я прочитал множество постов, в том числе несколько упомянутых ниже, но все еще не смог разобраться. Хотя я добавил пользовательскую реализацию IErrorHandler
,