public ActionInvokable(DataServiceOperationContext operationContext, ServiceAction serviceAction, object site, object[] parameters, IParameterMarshaller marshaller) { _serviceAction = serviceAction; ActionInfo info = serviceAction.CustomState as ActionInfo; var marshalled = marshaller.Marshall(operationContext, serviceAction, parameters); info.AssertAvailable(site, marshalled[0], true); _action = () => CaptureResult(info.ActionMethod.Invoke(site, marshalled)); }