Getting to the query string (GET request array) inside a web service in .NET

后端 未结 4 1535
再見小時候
再見小時候 2021-01-02 08:32

I\'m looking to find a way to access the .net query string contained in the standard ASP.NET request object inside a web service. In other words if I set a SOAP web service

相关标签:
4条回答
  • 2021-01-02 09:03

    I just looked for "Request" of the context in asmx file and I saw that. But I'm not sure if it is right.

    this.Context.Request.QueryString["id"];
    
    0 讨论(0)
  • 2021-01-02 09:04

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

    0 讨论(0)
  • 2021-01-02 09:04

    Since you ask, I guess there is no HttpContext.Current.Request ?

    0 讨论(0)
  • 2021-01-02 09:10

    While searching for the solution of the same problem i decided to take different approach. My query string was packed with lots of variables and since I was not able to access query string data from the web service, and I also did not want to send each query string variable as a separate parameter, I prepared my web method to expect one aditional string parameter.

    That parameter was window.location (entire url of the page) in my javascript function on .aspx page

    Once I had url in my web service, the rest was quite stright forward

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

    Now my query string is contained inside myRef object and this is how I call it

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

    Maybe it's not the most elegant way but it solved my problem.

    0 讨论(0)
提交回复
热议问题