WCF和数据传输对象

时间:2013-04-25 13:06:10

标签: wcf dto restsharp

我坚持这个简单的问题。在我的控制台应用程序中,我想使用wcf服务。所以我将Web引用添加到项目中并调用它。就是这样。

但为什么我看到一些特别是使用RESTSHARP的例子,他们从不添加web引用。他们只是使用所谓的“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);

1 个答案:

答案 0 :(得分:1)

来自this帖子:

  

对于REST服务,它为WCF服务消费提供了一种通用方式   它不依赖于SOAP。 这就是为什么我们不再需要“添加   ServiceReference ...“用于消费它。 REST服务操作可以   通过标准HTTP GET / POST请求访问,因此任何webrequest   启用的客户端可以使用它。例如,您可以使用HttpWebRequest   调用REST操作并使用LINQ to XML加载和提取   响应XML数据中的值。它非常灵活。

DTO,通常用于数据传输对象 - 仅仅是您想要作为参数/接收传递的实体。

在您的示例中,ApplicationDTO - 可能是保存有关应用程序功能对象的数据的实体(名称,类型,...)