WCF и объект передачи данных

Я застрял на этом простом вопросе. В моем консольном приложении я хочу использовать службу wcf. Поэтому я добавляю веб-ссылку в проект и вызываю ее. Вот и все.

Но почему я видел некоторые примеры, особенно с использованием RESTSHARP, они никогда не добавляют веб-ссылку. Они просто используют так называемый «DTO» для возврата объекта службой и его использования.

Я надеюсь, что кто-то может прояснить концепции для меня. Используется ли DTO внутри WCF?

образец:

private static List<ApplicationDTO> features;
RestClient client = new RestClient("http://" + baseUrl + "/FacilityData.svc");
var request = new RestRequest(Method.GET);
request.Resource = "/GetFeatures";
request.Parameters.Clear();
request.AddParameter("Id", 888);
var response = client.Execute(request);
features = JsonConvert.DeserializeObject<List<ApplicationDTO>>(response.Content);

person Community    schedule 25.04.2013    source источник
comment
Я понял эту концепцию, используя эту ссылку: DTO и POCO   -  person DanielV    schedule 28.06.2016


Ответы (1)


из этого почта:

Для службы REST он предоставляет общий способ использования службы WCF, который не зависит от SOAP. Вот почему нам больше не нужно "Добавить ссылку на службу..." для ее использования. К операциям службы REST можно получить доступ через стандартный HTTP-запрос GET/POST, поэтому любой клиент с поддержкой веб-запросов может ее использовать. Например, вы можете использовать HttpWebRequest для вызова операции REST и использовать LINQ to XML для загрузки и извлечения значений из XML-данных ответа. Это очень гибко.

DTO, обычно используемый для объекта передачи данных, - это не что иное, как объект, который вы хотите передать в качестве параметра / получить в результате.

В вашем примере ApplicationDTO - вероятно, это какой-то объект для хранения данных об объекте Application Feature (имя, тип,...)

person evgenyl    schedule 25.04.2013
comment
По предоставленной вами ссылке можем ли мы сказать, что есть два способа использования службы REST? Один через HTTP-запрос GET/POST, другой через заводской канал? Насчет DTO я до сих пор не понимаю, вы имели в виду, что он использовался в WCF для передачи параметра/сущности? - person ; 25.04.2013
comment
Обычно да - DTO - это сбор данных для вашего бизнес-объекта (Student, ClassRoom,... И речь идет не только о wcf, он используется как концепция (синоним Entity, бизнес-объект,...) - person evgenyl; 25.04.2013