ServiceStack如何从代码中调用我的服务

Tom*_*Tom 16 .net c# servicestack

我怎么称呼我自己的服务?

我有一项服务,使用其他服务来撰写信息.

我想在此服务的代码中调用其他服务.

我怎样才能做到这一点?

Tom*_*Tom 17

有一个基本方法base.ResolveService<TMyService>(),它只是从IOC解析您的自动服务并注入当前请求上下文

所以请致电:

using (var service = base.ResolveService<MyService>()) { 
    service.Post(new MyRequest()); 
} 
Run Code Online (Sandbox Code Playgroud)

您也可以使用请求DTO调用服务,该服务也将执行服务全局请求过滤器:

base.ExecuteRequest(new MyRequest());
Run Code Online (Sandbox Code Playgroud)

这只是ServiceController的一个包装器,可以静态调用:

HostContext.ServiceController.Execute(new MyRequest(), base.Request)
Run Code Online (Sandbox Code Playgroud)