2

每个人!

我最近尝试使用 ServiceStack 框架并遇到以下不清楚。

我可以或我不能使用该库执行以下操作:

public class userService : Service
{
    public object Get(int? userId)
    {
        // instead of receiving user request object (empty or filled only with its id property)
        return new userResponse();
    }
}

另一件事对我来说很奇怪,整个 DTO/Request/Response 类逻辑,即我应该定义三个类,它们以相似的名称(例如“用户”)开头,另外,处理 DTO 的服务是通过参数找到的(!)(获取(用户请求))。我对吗?或者这只是因为我没有完全理解ServiceStack的逻辑?如果是这样,那就太不方便了。当在 DTO(!) 上定义服务端点(服务操作)但最初没有定义服务类时,这看起来很奇怪。有可能以任何方式做这样的事情吗?:

[Route("/users")]
public class userService : Service
{
    public object Get()
    {
        return new ResponseBase(new List<Users>());
    }
    public object Get(int id)
    {
        return new ResponseBase(new User());
    }
}

这看起来主要是一个 ASP.NET Web API。然而,随即出现一个问题。为什么使用 ServiceStack?只是因为它是更早创建的吗?

谢谢!

4

1 回答 1

1

您正在尝试像控制器一样使用 ServiceStack,而不是作为它旨在支持的DTO-first 基于消息的服务。如果您想使用 RPC 方法签名来创建服务,我建议您返回使用支持此开发模型的 WCF、MVC 或 WebApi。

如果您仍想使用 ServiceStack,我建议您花一些时间阅读入门文档,而不是猜测它是如何工作的。

主页上的简单 REST 服务准确地显示了如何创建一个简单的服务,就像您尝试创建的服务一样。有关如何设计服务的进一步阅读,请参阅:

于 2013-06-04T16:24:06.033 回答