protected abstract void doWork(Message message);
private void audit(Message message, IPrincipal principal) { _auditor.Audit(messageType, principal.Identity.Name, message.CorrelationId, message.Body.ToString()); }
protected abstract bool authorize(Message message, IPrincipal principal);