我有一个WCF服务,其操作都需要MyServiceRequest参数(或派生类型)并返回MyServiceResponse(或dervived类型),即:
[OperationContract]
MySeviceResponse FindAppointments(FindAppointmentRequest request);
[OperationContract]
MyServiceResponse MakeAnAppointment(MakeAnAppointmentRequest request);
[OperationContract]
MyServiceResponse RegisterResource(RegisterResourceRequest request);
Run Code Online (Sandbox Code Playgroud)
FindAppointmentRequest,MakeAnAppointmentRequest和RegisterResourceRequest扩展MyServiceRequest,其中包含UserName和UserPassword属性.
如果Request中有错误的UserName/UserPassword对,则此方法都不会正确执行.
我想创建一个拦截器,它不仅检查给定的UserName/UserPassword对是否正确(使用IParameterInspector非常简单),而且还返回扩展MyServiceResponse的ErrorRespone类型的客户端对象.
IParameterInspector可以阻止服务执行请求的方法并返回ErrorResponse strightaway吗?