Ответ 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)