/// <summary> /// Carraga os dados do roteamento. /// </summary> /// <returns>True se os dados foram recarregados.</returns> public static bool LoadConfiguration() { bool needLoad = false; if (!loadDataConfig) { loadDataConfig = true; needLoad = true; Configurator.AddSectionHandler("Colosoft.Route"); Configurator.AddFileHandler("Route.config"); } else if (Configurator.RefreshHandlers(f => f is RouteSectionHandler || f is Configuration.Handlers.FileConfigHandler)) { needLoad = true; } if (needLoad) { lock (syncObject) { _routesInfo.Clear(); _routesNavigate.Clear(); _complexRoutesNavigate.Clear(); try { Configurator.Configure(typeof(RouteSettings)); return(true); } catch (Exception ex) { if (ex is TargetInvocationException) { ex = ex.InnerException; } throw new Colosoft.Configuration.Exceptions.LoadConfigurationException(ex); } } } return(false); }