【发布时间】:2013-07-23 14:13:18
【问题描述】:
我有一个关于我应该如何从其他服务中使用 ServiceStack 中的服务的问题。
我已经为我的所有请求响应 DTO,女巫实现了 IReturn 接口。对于像JsonServiceClient 这样的客户端,当我发出请求时,它会返回具有在IReturn 中实现的类型的对象响应,太棒了!
现在我正在重构一个项目,为将来的项目中使用的服务编写插件,当我在另一个服务中注入服务并发出请求时,它返回对象类型,所以我必须将它转换为HttpResult,然后将对象响应转换为 DTO 类型。
在我的大多数服务方法签名中,我将对象作为返回类型,然后我返回一个带有响应的HttpResult。例如:
public object Get(Request request)
{
return new HttpResult(responseObj);
}
除了使用来自客户端的服务之外,我还有其他选择吗?
我有一个仅用于视图的服务和 DTO,它们使用插件中的其他服务。这就是我需要正确获取响应 DTO 的原因(视图服务就像控制器一样)。
【问题讨论】:
-
是否有理由必须使用返回类型对象而不是返回类型 DTO?
public MyResponse Get(MyRequest request)... -
事实上没有!我无缘无故地打开了这个赏金,因为它在我的应用程序架构中失败了。问题中的 MyRequest 是控制器级别的请求(使用其他服务的服务),这就是为什么我需要返回对象或响应状态(对于 httpstatuscode 等):)
-
您能否提供更多信息,说明您目前的情况?
标签: servicestack