HelloService和TodoService

时间:2014-05-19 17:34:54

标签: servicestack

ServiceStack自托管Windows服务问题,link有两项服务:TodoService.csHelloService.cs

我有点困惑,他们是不同的例子还是相互关联的?

//Register REST Paths
[Route("/todos")]
[Route("/todos/{Id}")]
public class Todo //REST Resource DTO
{
    public long Id { get; set; }
    public string Content { get; set; }
    public int Order { get; set; }
    public bool Done { get; set; }
}

//Todo REST Service implementation
public class TodoService : RestServiceBase<Todo>
{
    public TodoRepository Repository { get; set; }  //Injected by IOC

    public override object OnGet(Todo request)
    {
        if (request.Id == default(long))
            return Repository.GetAll();

        return Repository.GetById(request.Id);
    }

    //Called for new and update
    public override object OnPost(Todo todo)
    {
        return Repository.Store(todo);
    }

    public override object OnDelete(Todo request)
    {
        Repository.DeleteById(request.Id);
        return null;
    }
}

 /// <summary>
/// Define your ServiceStack web service request (i.e. the Request DTO).
/// </summary>  
[Description("ServiceStack's Hello World web service.")]
[Route("/hello")]
[Route("/hello/{Name*}")]
public class Hello
{       
    public string Name { get; set; }
}

/// <summary>
/// Define your ServiceStack web service response (i.e. Response DTO).
/// </summary>
public class HelloResponse : IHasResponseStatus
{       
    public string Result { get; set; }      
    public ResponseStatus ResponseStatus { get; set; }
}

/// <summary>
/// Create your ServiceStack web service implementation.
/// </summary>
public class HelloService : ServiceBase<Hello>
{
    protected override object Run(Hello request)
    {
        return new HelloResponse { Result = "Hello, " + request.Name };
    }
}

1 个答案:

答案 0 :(得分:1)

它们是您可以使用ServiceStack构建的不同服务的单独示例。 ServiceStack示例在名为ServiceStack.Examples的单个解决方案中提供,但它包含单独的项目。

您正在查找名为StarterTemplates.Common的目录,这只是代码可重用性的几个示例共享。文件夹结构并不表示TodoService.csHelloService.cs直接相关。


ServiceStack示例的各个项目,can be seen here

  

Backbone.js TODO app with REST and Redis backend

     

Backbone REST and Redis TODOs http://mono.servicestack.net/showcase/img/todos-400x350.png

     

Creating a Hello World Web service from scratch

     

ServiceStacks Hello, World! http://mono.servicestack.net/showcase/img/hello-400x350.png