private void ParseRequest() { if (Url != null) { var ix = Url.IndexOf("?"); if (ix > -1) { Path = Url.Substring(0, ix); RequestUrl = Url.Remove(0, ix + 1); Request = RequestUrl.Split('&') .Select(x => x.Split('=')) .Where(x => x.Length == 2) .Distinct(RequestComparer.Comparer) .ToDictionary(x => x[0], x => x[1]); } else { Path = Url; } } }