protected virtual void InternalSend(string action, IDictionary actionArgs)
{
// If a redirect was sent there's no point in
// wasting processor cycles
if (Response.WasRedirected) return;
if (logger.IsDebugEnabled)
{
logger.DebugFormat("InternalSend for action '{0}'", action);
}
bool checkWhetherClientHasDisconnected = ShouldCheckWhetherClientHasDisconnected;
// Nothing to do if the peer disconnected
if (checkWhetherClientHasDisconnected && !IsClientConnected) return;
IControllerLifecycleExecutor executor =
(IControllerLifecycleExecutor) context.Items[ControllerLifecycleExecutor.ExecutorEntry];
if (!executor.SelectAction(action, Name, actionArgs))
{
executor.PerformErrorHandling();
executor.Dispose();
return;
}
executor.ProcessSelectedAction(actionArgs);
}