ServiceStack自托管Windows服务问题,link有两项服务:TodoService.cs
和HelloService.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 };
}
}
答案 0 :(得分:1)
它们是您可以使用ServiceStack构建的不同服务的单独示例。 ServiceStack示例在名为ServiceStack.Examples
的单个解决方案中提供,但它包含单独的项目。
您正在查找名为StarterTemplates.Common
的目录,这只是代码可重用性的几个示例共享。文件夹结构并不表示TodoService.cs
和HelloService.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