У меня есть служба wcf:
[ServiceContract(SessionMode = SessionMode.Allowed)]
public interface IMyService
{
[OperationContract]
[TransactionFlow(TransactionFlowOption.Allowed)]
FooResult GetFoo([NotNull] FooRequest request);
}
[DataContract(Name = "FooRequest", Namespace = "...")]
public class FooRequest
{
[DataMember(IsRequired = true)]
[NotNull]
public DateTime From { get; set; }
}
С помощью этой службы svcutil генерирует типы, которые сериализуются с помощью DataContractSerializer. Теперь я добавляю метод, который возвращает DataTable:
[OperationContract]
[TransactionFlow(TransactionFlowOption.Allowed)]
[FaultContract(typeof(IikoNetServiceFault))]
System.Data.DataTable GetDataTable();
Теперь svcutils генерирует типы, которые сериализуют все типы с помощью XmlSerializer. Но мне нужно, чтобы все типы (включая DataTable) сериализовались с помощью DataContractSerializer, или только DataTable сериализовывался с помощью XmlSerializer, но другие типы сериализуются с помощью DataContractSerializer.