servicestack,Asp.net,Json,Web Services,Rest,servicestack" /> servicestack,Asp.net,Json,Web Services,Rest,servicestack" />

Asp.net ServiceStack:真的是;简洁典雅的设计;?

Asp.net ServiceStack:真的是;简洁典雅的设计;?,asp.net,json,web-services,rest,servicestack,Asp.net,Json,Web Services,Rest,servicestack,各位! 我最近尝试使用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 userR

各位!

我最近尝试使用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类逻辑,也就是说,我应该定义三个类,它们以相似的名称(“例如user”)开头,另外,处理DTO的服务是通过参数(!)(Get(user Request))找到的。我说得对吗?或者这仅仅是因为我不完全理解ServiceStack的逻辑?如果是这样,那就很不方便了。当服务端点(Service action)最初是在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());
    }
}
[路由(“/users”)]
公共类userService:Service
{
公共对象Get()
{
返回新的响应库(newlist());
}
公共对象Get(int-id)
{
返回新的ResponseBase(新用户());
}
}
这看起来主要是一个la ASP.NET Web API。然而,随后出现了一个问题。为什么ServiceStack是用于?这仅仅是因为它创建得更早吗


谢谢大家!

您试图像控制器一样使用ServiceStack,而不是将其设计为支持的服务。如果您想使用RPC方法签名来创建服务,我建议您继续使用支持此开发模型的WCF、MVC或WebApi

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

主页上的显示了如何创建一个简单的服务,就像您正在尝试创建的服务一样。有关如何设计服务的更多信息,请参阅:


谢谢你的回答。事实上,我确实阅读了“入门”文档,并且看到了非常简单的cs文件示例。实际上,这主要是问这个问题的一个原因。当系统依赖于调用方法参数确定要调用哪个服务类时,逻辑对我来说有点奇怪。我问这个是因为我觉得这很奇怪,这意味着要么我在这个地区找不到什么东西,要么。。。“它在一段时间前是以这种方式实施的,因为它是以这种方式实施的”。所以,如果是的话,我有一个答案支持DTO优先、基于消息的设计是有目的的。也就是说,它不考虑调用远程服务器方法签名,而是希望您考虑向远程实例发送消息—将请求与实现分离。