我不太确定天气DTO应该是POCO还是可以依靠任何技术。我在想,最好将它们作为POCO来支持松耦合,并确保它可以与任何技术协同工作。ServiceStack堆栈是否真的建立在标准上?
从服务栈文档中,提到:
的请求和响应DTO的使用 ServiceStack定义的Web服务标准POCO的同时实现只需要 从一个可测试和无依赖,IService继承。 作为将DTO保存在单独的无依赖关系的.dll文件中的一项奖励,您可以在C#/ .NET客户端中重复使用它们,从而在不使用任何代码的情况下提供 强类型API。永远。此外,您的DTO的 定义一切服务栈不与任何其他自定义的文物或标记
污染你的Web服务 但是,如果你看到的实际执行DTO的,它有服务堆栈的依赖。
[Route("/todos")]
[Route("/todos/{Ids}")]
public class Todos : IReturn<List<Todo>>
{
public long[] Ids { get; set; }
public Todos(params long[] ids)
{
this.Ids = ids;
}
}
[Route("/todos", "POST")]
[Route("/todos/{Id}", "PUT")]
public class Todo : IReturn<Todo>
{
public long Id { get; set; }
public string Content { get; set; }
public int Order { get; set; }
public bool Done { get; set; }
}
我完全与文档中提到的内容以及实际实现的内容相混淆。为什么我们需要使DTO依赖于技术,更好地保持它们的清洁和技术独立。
我的理解可能完全错误。
什么是与客户交流的DTO的最佳方式? – Brainchild 2013-05-01 13:45:24
复制DTO dll。 – mythz 2013-05-01 13:48:14
所以..我需要与所有客户共享DTO DLL。 – Brainchild 2013-05-01 13:50:23