当使用新的ServiceStack设计指南时,客户端期望的依赖关系是什么?



考虑到最令人敬畏的ServiceStack Visual Studio扩展版本,我想确保在使用ServiceStack创建我的服务之后,当我创建一个客户端来消费这些服务时,我正在正确地做它。我的意思是以一种松耦合的、高性能的方式。

假设我们检查了EmailContacts项目,所以我们都在同一页面上。EmailContacts项目同时引用了EmailContacts和EmailContacts。ServiceInterface和EmailContacts。ServiceModel,这是可以理解的,因为这就是服务。现在我想从另一个。net项目中使用这个服务,不管是什么类型的,控制台还是web。

所以我的问题是"在消费者应用程序中,我将添加对EmailContacts的引用吗?"ServiceInterface和EmailContacts。ServiceModel和使用ServiceStack c#客户端库?",我不知道我有什么选择。

谢谢你,斯蒂芬。

保持服务模型在自己的程序集中

拥有一个定义良好的服务契约的好处是,你的DTO被维护在他们自己的独立的无隐含项目中,客户端只需要引用你的服务DTO来与ServiceStack的c#通用服务客户端之一一起调用任何服务。

添加ServiceStack Reference

如果客户端使用了ServiceStack的Add ServiceStack Reference特性,它为客户端提供了另一种方式来访问你的Web Services DTO,他们也可以避免引用任何你的Server dll。

客户端不应该引用任何服务器实现项目

如果你发现客户端需要任何参考,而不是你的服务模型和ServiceStack的客户端库,这是一个代码气味,这是一个迹象,表明你的服务模型不是在他们自己的依赖和impl-free .dll,它不应该依赖于ServiceStack.Interfaces.dll以外的任何东西。

相关内容

最新更新