记录在WCF REST服务请求/响应
题
我在寻找一种方式来登录一个WCF REST服务请求和响应。在WCF REST入门套件配备了可用于拦截请求RequestInterceptor类,但似乎并没有成为响应的等价物。理想情况下,我想能够拦截之前它是通过网络发送的响应,例如当底层服务方法返回。任何建议?
解决方案
请注意,如果你想拦截的原始消息,而不是参数,你可以注入你的 IDispatchMessageInspector 代替IParameterInspector扩展点达尼暗示。
其他提示
有在WCF一个工艺: 创建InstrumentedOperationAttribute从属性派生,IOperationBehavior。
在里面你实现:
public void ApplyDispatchBehavior(
OperationDescription operationDescription,
DispatchOperation dispatchOperation
)
{
dispatchOperation.ParameterInspectors.Add(
new ServerPI()
);
}
和所述ServerPI()类是什么呢魔: 你做你的beforecall需要的一切,并aftercall方法:
class ServerPI : IParameterInspector
{
public void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState)
{
Guid result = (Guid)correlationState;
// ...
}
public object BeforeCall(string operationName, object[] inputs)
{
string parameter1 = inputs[0] as string;
return Guid.NewGuid();
}
}
不隶属于 StackOverflow