Esempio n. 1
0
        public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
        {
            if (!DataTokens.ContainsKey(Consts.RouteServiceKey))
            {
                throw new InvalidOperationException("DataTokens must contain RouteServiceKey in service routing");
            }
            if (!values.ContainsKey(Consts.RouteServiceKey) && !requestContext.RouteData.DataTokens.ContainsKey(Consts.RouteServiceKey))
            {
                return(null);
            }
            if (values.ContainsKey(Consts.RouteExternalService))
            {
                return(null);
            }
            if (DataTokens[Consts.RouteServiceKey] != values[Consts.RouteServiceKey] && DataTokens[Consts.RouteServiceKey] != requestContext.RouteData.DataTokens[Consts.RouteServiceKey])
            {
                return(null);
            }

            var tmpValues = new RouteValueDictionary(values);

            tmpValues.Remove(Consts.RouteServiceKey);

            return(base.GetVirtualPath(requestContext, tmpValues));
        }
Esempio n. 2
0
        public override RouteData GetRouteData(HttpContextBase httpContext)
        {
            if (!DataTokens.ContainsKey(Consts.RouteServiceKey))
            {
                throw new InvalidOperationException("DataTokens must contain RouteServiceKey in service routing");
            }

            return(base.GetRouteData(httpContext));
        }
Esempio n. 3
0
        public string this[string key]
        {
            get
            {
                if (DataTokens.ContainsKey(key))
                {
                    return(DataTokens[key]);
                }

                return(null);
            }
            set
            {
                DataTokens[key] = value;
            }
        }