我正在学习ServiceStack并为helloworld开发简单的demo,但找不到ISservice
接口的命名空间,我的代码如下:
public class Hello
{
public string name { get; set; }
}
public class HelloResponse
{
public string Result { get; set; }
}
public class HelloService : **IService**<Hello>
{
public object Execute(Hello request)
{
return new HelloResponse { Result = "Hello" + request.name };
}
}
public class HelloAppHost : AppHostBase
{
public HelloAppHost() : base("Hello Web Services", typeof(HelloService).Assembly) { }
public override void Configure(Funq.Container container)
{
Routes.Add<Hello>("/hello")
.Add<Hello>("/hello/{Name}");
}
}
任何人都可以告诉我需要为IService
接口添加哪些命名空间或DLL?
答案 0 :(得分:2)
ServiceStack的 IService&lt; T&gt; 位于 ServiceStack.ServiceHost 命名空间中,该命名空间位于 ServiceStack.Interfaces.dll 中,为什么这里是班级:
注意:如果您刚刚开始,最好继承 ServiceStack.ServiceInterface.ServiceBase<T> 并覆盖 Run()方法,这是一个有用的基础为您提供自动异常处理之类的类。
如果您希望能够为不同的HTTP谓词运行不同的代码,例如GET / POST / PUT / DELETE(即创建REST Web服务),而不是希望从 RestServiceBase 继承并覆盖其OnGet / OnPost / OnPut / OnDelete方法。