我坚持这个简单的问题。在我的控制台应用程序中,我想使用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);
答案 0 :(得分:1)
来自this帖子:
对于REST服务,它为WCF服务消费提供了一种通用方式 它不依赖于SOAP。 这就是为什么我们不再需要“添加 ServiceReference ...“用于消费它。 REST服务操作可以 通过标准HTTP GET / POST请求访问,因此任何webrequest 启用的客户端可以使用它。例如,您可以使用HttpWebRequest 调用REST操作并使用LINQ to XML加载和提取 响应XML数据中的值。它非常灵活。
DTO,通常用于数据传输对象 - 仅仅是您想要作为参数/接收传递的实体。
在您的示例中,ApplicationDTO
- 可能是保存有关应用程序功能对象的数据的实体(名称,类型,...)