ServiceStack Как вызвать службу из кода

как я могу назвать свою услугу?

У меня есть служба, которая использует другие службы для составления информации.

Я хочу вызвать другие службы в коде этой службы.

Как я могу это сделать?

Ответы

Ответ 1

Существует базовый метод, называемый base.ResolveService<TMyService>(), который просто разрешает вашу автоматически обновленную службу от IOC и вводит текущий контекст запроса

Итак, просто позвоните:

using (var service = base.ResolveService<MyService>()) { 
    service.Post(new MyRequest()); 
} 

Вы также можете вызвать услугу только с помощью DTO запроса, который также будет выполнять фильтры глобальных запросов служб:

base.ExecuteRequest(new MyRequest());

Это всего лишь обертка вокруг ServiceController, которую можно назвать статически:

HostContext.ServiceController.Execute(new MyRequest(), base.Request)