private Uri BuildUri() { var pageKey = SchemeActivationConfig.GetPageKey(PageType); var uriBuilder = new UriBuilder($"{ProtocolName}:{pageKey}"); var query = HttpUtility.ParseQueryString(string.Empty); foreach (var parameter in Parameters) { query.Set(parameter.Key, parameter.Value); } uriBuilder.Query = query.ToString(); return(new Uri(uriBuilder.ToString())); }
public SchemeActivationData(Uri activationUri) { PageType = SchemeActivationConfig.GetPage(activationUri.AbsolutePath); if (!IsValid || string.IsNullOrEmpty(activationUri.Query)) { return; } var uriQuery = HttpUtility.ParseQueryString(activationUri.Query); foreach (var paramKey in uriQuery.AllKeys) { Parameters.Add(paramKey, uriQuery.Get(paramKey)); } }