Общий контракт данных wcf не сериализуется

У меня есть следующая структура данных:

 [DataContract]
 public class OperationResult<T>
 {
    public OperationResult() { }

    [DataMember]
    public Int32 OpResult
    {
        get;set;
    }

    [DataMember]
    public IList<T> OperationResults
    {
        get;set;
    }

    public static OperationResult<T> Success(IList<T> results, int numberOfChangedObjects)
    {
        OperationResult<T> result = new OperationResult<T>();

        result.OpResult = 1;
        result.OperationResults = results;

        return result;
    }        
}

Когда я обновляю ссылку на службу, класс не сериализуется. В службе я использую так называемый закрытый универсальный тип, например.

  [OperationContract]
  public OperationResult<Int32> SometTestMethod()
   {
       return new OperationResult<Int32>
                  {
                      OpResult = 1,
                      OperationResults = new List<Int32> {1, 2, 3}
                  };
   }

Метод выставлен, но возвращаемый тип OperationResult в этом случае недоступен. Что я делаю не так? Спасибо


person Elena    schedule 20.10.2010    source источник


Ответы (1)


Я только что понял. Причина, по которой я не нашел этот тип, заключается в том, что я искал OperationResult. Когда он был сериализован, он был назван OperationResultOfInt.

person Elena    schedule 20.10.2010