我想创建一个WCF RESTful服务方法,它可以接收查询字符串中的任意数量的参数,并将它们发送到该方法上的某种类型的键、值集合参数。例如:
如果我打电话给
"http://localhost/Service.svc/DoWork?p1=test&p2=testAgain“
我希望方法实现看起来像这样:
[WebGet]
public void DoWork(Dictionary<string,string> values)
{
// Add your operation implementation here
return;
}并且values参数将包含具有各自值的p1、p2键。
我该怎么做呢?我认为一种方法是定义一个自定义的UriTemplate,并将所有内容发送到一个字符串参数并解析出来,但是"&“字符是抛出的,并且是危险的论坛请求异常。我不禁想有一种更简单的方法来实现这一点。
发布于 2012-05-31 14:10:21
您可以通过WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.Query访问请求查询字符串。然后,您可以使用HttpUtility.ParseQueryString将其解析为NameValueCollection,这类似于您想要的Dictionary<string, string>。
发布于 2012-05-31 06:54:00
您能否将此信息从HttpContext.Current.Request.QueryString对象中提取出来?
https://stackoverflow.com/questions/10824111
复制相似问题