Какое пространство имен для интерфейса Iservice?

StackOverflow https://stackoverflow.com/questions/7803255

  •  25-10-2019
  •  | 
  •  

Вопрос

Я изучаю 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 интерфейс?

Это было полезно?

Решение

ServiceStack's Iserviceu003CT> находится в ServiceStack.servicehost Пространство имен, которое живет в ServiceStack.Interfaces.dll, почему вот класс:

https://github.com/servicestack/servicestack/blob/master/src/servicestack.interfaces/servicehost/iservice.cs

Примечание. Если вы только начинаете, вероятно, лучше наследовать от ServiceStack.serviceInterface.serviceBaseu003CT> и переопределить Бежать() Метод, который является полезным базовым классом, который обеспечивает такие вещи, как обработка автоматического исключения для вас.

Если вы хотите иметь возможность запустить другой код для разных глаголов HTTP, например, получить/post/pult/delete (т.е. создание веб -сервисов REST), чем вы хотите унаследовать от RestServiceBase Вместо этого переопределяйте его методы Onget/OnPost/Onput/OnDelete.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top