使用WCF的简单REST服务

时间:2012-02-03 16:43:34

标签: asp.net rest

我正在尝试使用一种接收三个字符串参数的方法在VS2010(.NET 4)中创建一个简单的REST服务。我希望使用GET和POST访问它(因为有时候第3个参数可能很大)

在MyREST.cs课程中我有这段代码

    [WebGet(UriTemplate = "s={s}&sp={sp}&p={p}")]
    public string Process(string s, string sp, string p)
    {
        // some processing
        return result;
    }

POST相同

当我尝试使用类似

的网址访问该服务时
http://localhost:57129/OneTestREST/s=str1&sp=str2&p=str3

我收到错误

  

异常详细信息:System.Web.HttpException:有潜在危险   从客户端(&)检测到Request.Path值。

如果我将属性更改为

[WebGet(UriTemplate = "/{s}/{sp}/{p}")]

一切正常。但我想用第一种语法

访问它

知道为什么会这样吗?

谢谢

1 个答案:

答案 0 :(得分:1)

[WebGet]
public string Process(string s, string sp, string p)
{
    // some processing
    return result;
}

然后

http://localhost:57129/OneTestREST/?s=str1&sp=str2&p=str3