md.Body.ReturnValue.Type == typeof (Message))
o.DeserializeReply = false;
}
-#if !NET_2_1
foreach (var fd in od.Faults)
o.FaultContractInfos.Add (new FaultContractInfo (fd.Action, fd.DetailType));
-#endif
// FIXME: at initialization time it does not seem to
// fill default formatter. It should be filled after
IClientMessageFormatter formatter;
SynchronizedCollection<IParameterInspector> inspectors
= new SynchronizedCollection<IParameterInspector> ();
-#if !NET_2_1
SynchronizedCollection<FaultContractInfo> fault_contract_infos = new SynchronizedCollection<FaultContractInfo> ();
-#endif
public ClientOperation (ClientRuntime parent,
string name, string action)
}
}
-#if !NET_2_1
public SynchronizedCollection<FaultContractInfo> FaultContractInfos {
get { return fault_contract_infos; }
}
-#endif
public IClientMessageFormatter Formatter {
get { return formatter; }
Type detailType = typeof (ExceptionDetail);
var freader = fault.GetReaderAtDetailContents ();
DataContractSerializer ds = null;
-#if !NET_2_1
foreach (var fci in op.FaultContractInfos)
if (res.Headers.Action == fci.Action || fci.Serializer.IsStartObject (freader)) {
detailType = fci.Detail;
ds = fci.Serializer;
break;
}
-#endif
if (ds == null)
ds = new DataContractSerializer (detailType);
var detail = ds.ReadObject (freader);