Question

J'apprends ServiceStack et le développement démo simple pour helloworld, mais n'a pas pu trouver l'espace de noms pour l'interface ISservice, mon code comme ci-dessous:

 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}");

    }
}

Quelqu'un peut-il s'il vous plaît me dire ce que l'espace de noms ou besoin DLL j'ajouter pour l'interface IService?

Était-ce utile?

La solution

ServiceStack de IService est ServiceStack.ServiceHost namespace qui vit dans le ServiceStack.Interfaces.dll , pourquoi voici la classe :

https://github.com/ ServiceStack / ServiceStack / blob / maître / src / ServiceStack.Interfaces / ServiceHost / IService.cs

Remarque: Si vous êtes débutant, il est probablement préférable d'hériter de ServiceStack.ServiceInterface.ServiceBase et remplacer le Exécuter () méthode qui est une classe de base utile qui fournit des choses comme auto la gestion des exceptions pour vous.

Si vous voulez être en mesure d'exécuter différentes code pour différents HTTP Verbs par exemple GET / POST / PUT / SUPPRIMER (c.-à-création de services Web REST) ??que vous voulez hériter de RestServiceBase à la place et passer outre son onget méthodes / OnPost / OnPut / OnDelete.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top