应该期待请求过滤验证(例如FluentValidation )被触发时, 实例的引用服务通过AppHostBase.ResolveService<>
迄今为止,使用的时候,我只成功接收到正确的错误反应,我的C#应用程序类型的客户端 ( JsonServiceClient在这种情况下,特别是)。
应该期待请求过滤验证(例如FluentValidation )被触发时, 实例的引用服务通过AppHostBase.ResolveService<>
迄今为止,使用的时候,我只成功接收到正确的错误反应,我的C#应用程序类型的客户端 ( JsonServiceClient在这种情况下,特别是)。
你是对的。 如果您尝试使用AppHostBase.ResolveService<T>
它不执行任何注册请求过滤器。 本质上,它只是解决了从APPHOST扶养容器中的服务,你回来只是服务实例。 因此,你的校验不会被触发。
作为@mythz指出可以使用的MQ切入点API HostContext
与MQ请求,过滤器,以执行呼叫,因此具有运行验证。 去做这个:
HostContext.ServiceController.ExecuteMessage(new Message<T>(requestDto), httpReq);
@mythz还注意到则可以仅使用一个DTO,而不必确定服务和处理方法调用执行一个服务,但以类似的方式,以AppHostBase.ResolveService<T>
它不触发请求过滤器。 用法:
HostContext.ServiceController.Execute(requestDto, httpReq)
GetAppHost().Config.ServiceManager.ServiceController.ExecuteMessage(new Message<T>(requestDto), httpReq);