protected override IMessage ExecuteQuery(IMethodCallMessage call)
{
_engine.BeforeQuery();
try
{
IMethodReturnMessage message = (IMethodReturnMessage) base.InvokeSystem(call);
if (IsSubSystem(call.MethodBase))
{
return new ReturnMessage(GetProxy(message), null, 0, call.LogicalCallContext, call);
}
else
{
return message;
}
}
finally
{
_engine.AfterQuery();
}
}