Ejemplo n.º 1
0
        private IRouteTableProvider CreateRouteTableProvider()
        {
            if (Provider == null)
            {
                return(null);
            }

            Type providerType = Type.GetType(Provider.Type, false, true);

            if (providerType == null)
            {
                return(null);
            }

            if (!typeof(IRouteTableProvider).IsAssignableFrom(providerType))
            {
                throw Error.IncompatibleRouteTableProvider(providerType);
            }

            IRouteTableProvider provider = (IRouteTableProvider)ServiceLocator.Instance.GetService(providerType);

            ValueDictionary settings = new ValueDictionary();

            foreach (string key in Provider.Settings.AllKeys)
            {
                settings.Add(key, Provider.Settings[key].Value);
            }

            provider.Init(settings);
            return(provider);
        }
Ejemplo n.º 2
0
        protected virtual void EnsureRouteTableLoaded()
        {
            IRouteTableProvider      provider = RouteTable.Provider;
            RouteTableProviderResult result   = provider.GetRouteTable();

            RouteTable.Routes.Variables.Merge((IValueSet)result.Variables);
            RouteTable.Routes.AddRange(result.Routes);
        }