c# - 如何通过验证和可选的请求上下文直接从 C# 代码调用 servicestack 服务

标签 c# servicestack fluentvalidation

我希望我的代码中的服务能够直接调用其他 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/

相关文章:

servicestack - 使用 API key 验证服务器到服务器的通信

servicestack - 在 ServiceStack 的元数据页面中反射(reflect) AbstractValidator 规则

c# - 流利验证 : set custom message on custom validation

c# - FluentValidation,如何在子验证器异常消息中包含父属性名称

asp.net-mvc - 在 ASP.NET MVC 3 中自定义模型绑定(bind)错误消息

c# - 在 Unity 独立构建中获取构建日期

c# - UWP MVVM 模板 10 : Access single instance of external API across application

servicestack - Service.OrmLite 中的谓词错误地返回枚举值

c# - 复杂物体的体积

c# - 在 Where() 之前调用 OrderBy() 的区别,反之亦然