WCF WebGet Dictionary Parameter on GET

本文关键字:on GET Parameter Dictionary WebGet WCF | 更新日期: 2023-09-27 18:36:01

我想创建一个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,并将所有内容发送到一个字符串参数并将其解析出来,但"&"字符正在抛出和危险的论坛请求异常。我不禁认为有一种更简单的方法可以实现这一点。

WCF WebGet Dictionary Parameter on GET

您可以通过 WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.Query 访问请求查询字符串。然后,您可以使用HttpUtility.ParseQueryString将其解析为NameValueCollection,这类似于您想要的Dictionary<string, string>

你能

从HttpContext.Current.Request.QueryString对象中提取这些信息吗?