質問

ServiceStack を学習し、helloworld の簡単なデモを開発していますが、名前空間が見つかりませんでした。 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}");

    }
}

どの名前空間または DLL を追加する必要があるか教えてください。 IService インターフェース?

役に立ちましたか?

解決

サービススタックの IService<T> の中に ServiceStack.ServiceHost に存在する名前空間 ServiceStack.Interfaces.dll, 、なぜここにクラスがあるのか​​:

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

注記:始めたばかりの場合は、おそらく次から継承する方がよいでしょう。 ServiceStack.ServiceInterface.ServiceBase<T> そしてオーバーライドします 走る() メソッドは、自動例外処理などを提供する便利な基本クラスです。

異なる HTTP 動詞に対して異なるコードを実行できるようにしたい場合、例: GET/POST/PUT/DELETE (つまり、REST Web サービスを作成する) から継承したいものよりも RestServiceBase 代わりに、その OnGet/OnPost/OnPut/OnDelete メソッドをオーバーライドします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top