Onur ERYILMAZ Ответов: 0

Вопрос о службе отдыха WCF


Привет,

Я написал службу WCF Rest для использования некоторых сервисных контрактов из приложения Xamarin Forms.

Я использовал шаблон проектирования репозитория и единицу работы для транзакций базы данных в DAL.

Затем я написал класс MobileResult для коллективизации моих возвращенных объектов.

Но почему-то это не работает.

Не могли бы вы помочь мне с этим вопросом?

Спасибо.

Что я уже пробовал:

Я написал контракт на операцию Вот так;

[OperationContract]
        [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "GetWorkCommandsInProduction")]
        MobileResult GetAllWorkCommandsInProduction();


Я написал свой MobileResult вот так;

[DataContract]
   public class MobileResult
   {
       [DataMember]
       public bool result { get; set; }
       [DataMember]
       public object data { get; set; }

       public MobileResult(bool res, object obj)
       {
           result = res;
           data = obj;
       }
   }


И наконец именно здесь я возвращаю MobileResult;

public MobileResult GetAllWorkCommandsInProduction()
        {
            UnitOfWork work = new UnitOfWork(new BILPLASDatabaseContext());

            var products = work.Repository<WorkCommandProductions>().GetAll();

            // In here my 'products' is filled(there is no problem with this)
            // But I get 'System.Runtime.Serialization.SerializationException' in 
            // System.Runtime.Serialization.dll
            // I tried to return only one 'product' object but I get same error again.
            // When I return only one property of one 'product' object(ex. 
            // products[0].ID) then it returns without exception.  
            return new MobileResult(true, products);
        }

0 Ответов