При поиске решения той же проблемы я решил использовать другой подход.
Моя строка запроса была заполнена множеством переменных, и так как я не смог получить доступ к данным строки запроса из веб-службы, и я также не хотел отправлять каждую переменную строки запроса в качестве отдельного параметра, я подготовил свой веб-метод для ожидания одного параметр дополнительной строки.
Этот параметр был window.location (весь URL-адрес страницы) в моей функции JavaScript на странице .aspx
Как только у меня появился URL в моем веб-сервисе, все остальное было довольно прямо вперед
Uri myRef = new Uri(stringMyWindowLocationParameter);
System.Collections.Specialized.NameValueCollection mojQuery = HttpUtility.ParseQueryString(myRef.Query);
Теперь моя строка запроса содержится внутри myRef объекта, и вот как я его называю
// Instead trying to request query string like this
string myId = HttpContext.Current.Request.QueryString["id"];
// ... I called it like this
string myId = myRef["id"];
Возможно, это не самый элегантный способ, но он решил мою проблему.