public void AfterReceiveReply(ref NDceRpc.ServiceModel.Channels.Message reply, object correlationState)
        {
            var stream     = new MemoryStream(reply.Fault.Detail);
            var serializer = new NetDataContractSerializer();
            var exeption   = (Exception)serializer.Deserialize(stream);

            throw exeption;
        }
        public void ProvideFault(Exception error, NDceRpc.ServiceModel.Channels.MessageVersion version, ref NDceRpc.ServiceModel.Channels.Message fault)
        {
            if (!HandleError(error))
            {
                return;
            }
            var serializer = new NetDataContractSerializer();
            var stream     = new MemoryStream();

            serializer.Serialize(stream, error);
            stream.Position    = 0;
            fault.Fault.Detail = stream.ToArray();
        }