Chegando à string de consulta (array pedido GET) dentro de um serviço web em .NET

StackOverflow https://stackoverflow.com/questions/298219

  •  08-07-2019
  •  | 
  •  

Pergunta

Eu estou olhando para encontrar uma maneira de acessar a string de consulta .net contido no objeto de solicitação ASP.NET padrão dentro de um serviço web. Em outras palavras, se eu definir um serviço web SOAP a este url:

http:? //Localhost/service.asmx id = 2

Posso acessar a variável ID Get?

Foi útil?

Solução

Eu apenas olhei para "Request" do contexto em arquivo asmx e eu vi isso. Mas eu não tenho certeza se é certo.

this.Context.Request.QueryString["id"];

Outras dicas

HttpContext.Current.Request.QueryString [ "id"]

Uma vez que você perguntar, eu acho que não há nenhuma HttpContext.Current.Request?

Embora a pesquisa para a solução do mesmo problema i decidiu tomar abordagem diferente. Meu string de consulta estava lotado com muitas variáveis ??e desde que eu não era capaz de dados de cadeia de consulta de acesso do serviço de web, e eu também não queria enviar cada variável string de consulta como um parâmetro separado, preparei o meu método web que esperar um parâmetro de seqüência adicional.

Esse parâmetro foi window.location (inteira url da página) na minha função javascript na página aspx

Uma vez eu tive url no meu serviço web, o resto foi bastante stright frente

Uri myRef = new Uri(stringMyWindowLocationParameter);
System.Collections.Specialized.NameValueCollection mojQuery = HttpUtility.ParseQueryString(myRef.Query);

dentro Agora a minha string de consulta está contido myRef objeto e é assim que eu chamá-lo

// Instead trying to request query string like this
string myId = HttpContext.Current.Request.QueryString["id"];

// ... I called it like this
string myId = myRef["id"];

Talvez não seja a maneira mais elegante, mas resolveu o meu problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top