IService接口的命名空间是什么?

时间:2011-10-18 06:27:40

标签: asp.net servicestack

我正在学习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?

1 个答案:

答案 0 :(得分:2)

ServiceStack的 IService&lt; T&gt; 位于 ServiceStack.ServiceHost 命名空间中,该命名空间位于 ServiceStack.Interfaces.dll 中,为什么这里是班级:

https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack.Interfaces/ServiceHost/IService.cs

注意:如果您刚刚开始,最好继承 ServiceStack.ServiceInterface.ServiceBase<T> 并覆盖 Run()方法,这是一个有用的基础为您提供自动异常处理之类的类。

如果您希望能够为不同的HTTP谓词运行不同的代码,例如GET / POST / PUT / DELETE(即创建REST Web服务),而不是希望从 RestServiceBase 继承并覆盖其OnGet / OnPost / OnPut / OnDelete方法。