关于IParameterInspector BeforeCall返回值的一般建议

时间:2012-12-14 08:19:18

标签: asp.net wcf .net-4.5 webmethod

我刚刚学习了WCF WebMethods,并开始消化代码以插入IParameterInspector接口进行参数验证。

有人可以用最基本的术语告诉我,BeforeCall()函数中返回对象的目的是什么吗?例如:

Public Function BeforeCall(operationName As String, inputs() As Object) **As Object** Implements IParameterInspector.BeforeCall

End Function

通过基本测试,我意识到我可以从BeforeCall()返回一个对象,然后在AfterCall() correlationState参数中可用。

假设在消费代码中的任何其他地方都没有返回此值?

有人可以提供一些基本的例子,说明为什么程序员可能需要使用它吗?

1 个答案:

答案 0 :(得分:1)

你是对的,返回值只是一个correlationState msdn documentation states

Return Value
Type: System.Object
The correlation state that is returned as the correlationState parameter in AfterCall. Return null if you do not intend to use correlation state.

并且,如上所述,它仅用作BeforeCall()AfterCall()之间的相关状态。

而且,关于基本示例,您可以使用它在那里实现您自己的关联业务逻辑。例如,您可能希望在事后调用中检索先前存储在持久状态中的输入参数,并根据它们执行一些自定义逻辑(记录或实际更改输出值)。