IParameterInspector和异常处理

时间:2015-06-04 11:11:07

标签: c# wcf

在我的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)
    { ... } 

感谢您的帮助。

0 个答案:

没有答案