(будучи примитивным типом, имеющим System.SerializableAttribute и т. д.).

у свой первый сервис WCF. Я решил сначала написать сервис как DLL, а затем добавить аспект WCF, где я сейчас нахожусь.

Архитектор посоветовал мне придерживаться определенного формата для объектов сообщений, что я и сделал. Однако я использовал интерфейсы, сложные типы и их списки в своих объектах сообщений. Я собираюсь добавить атрибуты, и я немного запутался.

Вот показательный пример моего кода.

[ServiceContract]
public interface MyServiceContract
{
     [OperationContract]
     MyMethodResponseMessage MyMethod(MyMethodRequestMessage request);
}

public class MyService : MyServiceContract
{
    public MyMethodResponseMessage MyMethod(MyMethodRequestMessage request)
    {
        //Do things
    }
}

//Messages
[MessageContract]
public class MyMethodResponseMessage 
{
    [MessageBodyMember]
    public MyMethodResponse Body { get; set; }
}

[DataContract]
public class MyMethodResponse
{
    [DataMember]
    public IMyComplexTypeItem { get; set; }

    [DataMember]
    public List<IMyComplexType> Items { get; set; }

    [DataMember]
    public bool Success { get; set; }
}

//DTO    
public interface IMyComplexType 
{
    [DataMember]
    string Identity { get; set; }
}

[DataContract]
public class MyComplexType1 : IMyComplexType
{
     [DataMember]
     public virtual string Identity
}

Кто-нибудь может прокомментировать правильность использования MessageContract, DataContract, DataMember и Serializable и т. Д.? Есть указатели или явные ошибки?

Кроме того, какой сериализатор является лучшим для использования? и какова лучшая стратегия, чтобы гарантировать, что я получаю правильно сформированный XML, чтобы другие клиенты могли легко использовать мой сервис?

Ответы на вопрос(2)

Ваш ответ на вопрос