我希望我的代码中的服务能够直接调用其他 servicestack 服务并进行请求验证。
在我看来,最好不要使用 JsonServiceClient,所有序列化和 http 请求等,因为服务在同一进程中运行。
我知道我可以打电话:
using (var service = base.ResolveService<MyService>()) {
service.Post(new MyRequest());
}
但是,这种方法不会强制执行使用标准服务堆栈流畅验证类构建的请求验证代码。
理想情况下,我也可以有选择地更改请求上下文,以启用以不同权限运行等。
有人可以建议如何实现这一点。
谢谢。
最佳答案
您可以使用 HostContext.ServiceController.ExecuteMessage(new Message<T>(requestDto), httpReq);
.这将使请求通过完整的管道。
this question 中提供了更多详细信息,以及我更详细的回答。
关于c# - 如何通过验证和可选的请求上下文直接从 C# 代码调用 servicestack 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27984923/