コード例 #1
0
        /// <summary>
        /// Resolves the query string items
        /// </summary>
        /// <returns>The query string items</returns>
        /// <param name="queryString">Query string</param>
        public static QueryStringDictionary Resolve(string queryString)
        {
            QueryStringDictionary queryStringDictionary =
                new QueryStringDictionary();

            if (string.IsNullOrEmpty(queryString))
            {
                return(queryStringDictionary);
            }

            string key = null, value = null;

            foreach (string queryStringItem in queryString.Split('&'))
            {
                string[] splittedQueryStringItem = queryStringItem.Split('=');

                key   = splittedQueryStringItem[0];
                value = string.Join("=", splittedQueryStringItem, 1, splittedQueryStringItem.Length - 1);

                if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
                {
                    queryStringDictionary[key] = value;
                }
            }

            return(queryStringDictionary);
        }
コード例 #2
0
        /// <summary>
        /// Resolves the query string items
        /// </summary>
        /// <returns>The query string items</returns>
        /// <param name="queryString">Query string</param>
        public static QueryStringDictionary Resolve(string queryString)
        {
            QueryStringDictionary queryStringDictionary =
                new QueryStringDictionary();

            if (string.IsNullOrEmpty(queryString))
            {
                return(queryStringDictionary);
            }

            foreach (string queryStringItem in queryString.Split('&'))
            {
                string[] queryStringItems = queryStringItem.Split('=');

                string key   = queryStringItems[0];
                string value =
                    string.Join("=", queryStringItems, 1, queryStringItems.Length - 1);

                if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
                {
                    queryStringDictionary[key] = value;
                }
            }

            return(queryStringDictionary);
        }
コード例 #3
0
        /// <summary>
        /// Make the query string dictionary using keyvalue pairs
        /// </summary>
        /// <returns>The query string dictionary</returns>
        /// <param name="queryStrings">Query strings</param>
        public static QueryStringDictionary Make(params KeyValuePair <string, string>[] queryStrings)
        {
            QueryStringDictionary queryStringDictionary =
                new QueryStringDictionary();

            if (queryStrings == null)
            {
                return(queryStringDictionary);
            }

            foreach (KeyValuePair <string, string> item in queryStrings)
            {
                if (!item.Equals(null) &&
                    !string.IsNullOrEmpty(item.Key) &&
                    !string.IsNullOrEmpty(item.Value))
                {
                    queryStringDictionary[item.Key] = item.Value;
                }
            }

            return(queryStringDictionary);
        }
コード例 #4
0
        /// <summary>
        /// Creates the Xeora URL with variable pool accessibilities
        /// </summary>
        /// <returns>Xeora URL</returns>
        /// <param name="useSameVariablePool">If set to <c>true</c> uses same variable pool with the current request</param>
        /// <param name="serviceFullPath">Valid Xeora Service Full Path</param>
        /// <param name="queryStringDictionary">Query string dictionary</param>
        public static string CreateURL(bool useSameVariablePool, string serviceFullPath, QueryStringDictionary queryStringDictionary = null)
        {
            string rString = null;

            string applicationRoot =
                Configurations.Xeora.Application.Main.ApplicationRoot.BrowserImplementation;

            if (!useSameVariablePool)
            {
                rString = string.Format("{0}{1}", applicationRoot, serviceFullPath);
            }
            else
            {
                rString = string.Format("{0}{1}/{2}", applicationRoot, Helpers.Context.HashCode, serviceFullPath);
            }

            if (queryStringDictionary != null && queryStringDictionary.Count > 0)
            {
                rString = string.Concat(rString, "?", queryStringDictionary.ToString());
            }

            return(rString);
        }
コード例 #5
0
 /// <summary>
 /// Creates the Xeora URL with variable pool accessibilities
 /// </summary>
 /// <returns>Xeora URL</returns>
 /// <param name="useSameVariablePool">If set to <c>true</c> uses same variable pool with the current request</param>
 /// <param name="serviceFullPath">Valid Xeora Service Full Path</param>
 /// <param name="queryStrings">Query string definitions (if any)</param>
 public static string CreateURL(bool useSameVariablePool, string serviceFullPath, params KeyValuePair <string, string>[] queryStrings) =>
 Helpers.CreateURL(useSameVariablePool, serviceFullPath, QueryStringDictionary.Make(queryStrings));
コード例 #6
0
 /// <summary>
 /// Creates the Xeora URL with variable pool accessibilities
 /// </summary>
 /// <returns>Xeora URL</returns>
 /// <param name="serviceFullPath">Valid Xeora Service Full Path</param>
 /// <param name="queryStringDictionary">Query string dictionary</param>
 public static string CreateURL(string serviceFullPath, QueryStringDictionary queryStringDictionary = null) =>
 Helpers.CreateURL(true, serviceFullPath, queryStringDictionary);
コード例 #7
0
 /// <summary>
 /// Resolves the query string items of current request
 /// </summary>
 /// <returns>The query string items</returns>
 public static QueryStringDictionary Resolve() =>
 QueryStringDictionary.Resolve(Helpers.Context.Request.Header.URL.QueryString);
コード例 #8
0
ファイル: Helpers.cs プロジェクト: xeora/v7-framework
        /// <summary>
        /// Creates the Xeora Url with variable pool accessibility
        /// </summary>
        /// <returns>Xeora Url</returns>
        /// <param name="useSameVariablePool">If set to <c>true</c> uses same variable pool with the current request</param>
        /// <param name="serviceFullPath">Valid Xeora Service Full Path</param>
        /// <param name="queryStringDictionary">Query string dictionary</param>
        public static string CreateUrl(bool useSameVariablePool, string serviceFullPath, QueryStringDictionary queryStringDictionary = null)
        {
            string applicationRoot =
                Configurations.Xeora.Application.Main.ApplicationRoot.BrowserImplementation;

            string rString = !useSameVariablePool
                ? $"{applicationRoot}{serviceFullPath}"
                : $"{applicationRoot}{Helpers.Context.HashCode}/{serviceFullPath}";

            if (queryStringDictionary != null && queryStringDictionary.Count > 0)
            {
                rString = string.Concat(rString, "?", queryStringDictionary.ToString());
            }

            return(rString);
        }