在我的WCF服务方法中,我定义了一个属性。 此属性类继承自Attribute& IOperationBehavior并添加了IParameterInspector行为。 IParameterInspector Instantiated类提供BeforeCall& AfterCall方法。
问题:未捕获来自beforecall方法的方法调用内引发的任何异常。 我已经尝试了几种解决方案,包括IError,但它们都没有用。
这是我的代码: 服务方式:
[OperationBehavior]
[MyAuthorization(Role = Enums.PsoRoles.DiceQuote)]
public List<Employee> GetEmployee(int eid)
{
try
{
return _empService.GetEmployee(eid);
}
catch (Exception ex)
{
_logger.Error(ex);
throw new FaultException(ex.Message, new FaultCode(HttpStatusCode.InternalServerError.ToString()));
}
}
public class MyAuthorization : Attribute, IOperationBehavior
public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
{
dispatchOperation.ParameterInspectors.Add(new MyAuthorizationParameterInspector());
}
public class MyAuthorizationParameterInspector : IParameterInspector
public object BeforeCall(string operationName, object[] inputs)
{ ... }
public void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState)
{ ... }
感谢您的帮助。