Как лучше всего сериализовать массив на основе интерфейса в WCF?

Сначала код:

[ServiceContract]
public interface IWorker
{
    [OperationContract]
    void Process(XmlElement data);
    [OperationContract]
    void Update(Rule rule);
}

[DataContract]
public class Rule
{
    [OperationContract]
    public string Expression { get; set; }
    [OperationContract]
    public List<IAction> Actions { get; set; }
}

public interface IAction
{
    void Execute(XmlElement data);
}

Диспетчер кодирует данные как xml и отправляет их в экземпляр IWorker, где оценивается каждое выражение. Когда экземпляр IWorker оценивает выражение как истинное, вызывается IAction.Execute и передается xml / data.

Как лучше всего сериализовать Rule.Actions? Я начал писать собственный сериализатор, но хотел бы посмотреть, есть ли более простой способ.

Спасибо.

5
задан Steve 3 August 2011 в 19:47
поделиться