void OnServiceFault(ServiceFault message) { _log.ErrorFormat("Fault on {0}: {1}", message.ServiceName, message.ToLogString()); if (message.ServiceName == AppDomain.CurrentDomain.FriendlyName) { // we caught an unhandled exception, so what should we do? How about restarting all the services? if (_stopping == false) { _actorCache.Each((name, x) => x.Send(new RestartService(name))); } } if (_stopping) { if (_actorCache.Has(message.ServiceName)) { _actorCache[message.ServiceName].Send(new UnloadService(message.ServiceName)); } } EventChannel.Send(message); }