2013-04-25 1 views
0

Я застрял на этом простом вопросе. В моем консольном приложении я хочу использовать службу 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); 
+0

я понял эту концепцию по этой ссылке: [DTO & ПОКО] (HTTP://rlacovara.blogspot.com.es/2009/03/what-is-difference-between-dto-and-poco.html) – DanielV

ответ

1

от this сообщений:

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

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

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

+0

Из ссылки, которую вы предоставили, можем ли мы сказать, что существует два способа использования службы REST? Один из них - HTTP-запрос GET/POST, другой - через заводской канал? О DTO, я до сих пор не понимаю, вы имели в виду, что в WCF использовался параметр/объект? – 2013-04-25 13:55:36

+0

Обычно да - DTO - это сбор данных для вашего бизнес-объекта (Student, ClassRoom, ... И его не только о wcf, его используется как «концепция» (синоним Entity, бизнес-объекта, ...) – evgenyl