在.NET中的Web服务中获取查询字符串(GET请求数组)
问题描述:
我正在寻找一种方法来访问包含在Web服务内部的标准ASP.NET请求对象中的.net查询字符串。换句话说,如果我设置一个SOAP Web服务到这个网址:在.NET中的Web服务中获取查询字符串(GET请求数组)
http://localhost/service.asmx?id=2
我可以访问ID获取变量?
答
我只是在asmx文件中查找上下文的“请求”,我看到了。但我不确定是否正确。
this.Context.Request.QueryString["id"];
答
既然你问了,我估计没有HttpContext.Current.Request?
答
HttpContext.Current.Request.QueryString [“ID”]
答
当搜索同样的问题,我决定采取不同的方法的解决方案。 我的查询字符串打包了很多变量,因为我无法从Web服务访问查询字符串数据,而且我也不想将每个查询字符串变量作为单独的参数发送,所以我准备了我的Web方法以期望一个附加的字符串参数。
这个参数是在我的javascript函数window.location的(页面的整个URL).aspx页面中
一次我在Web服务有网址,其余是相当挺直向前
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"];
也许这不是最优雅的方式,但它解决了我的问题。
这代表什么对象? – AnthonyWJones 2008-11-18 09:28:09