我正在尝试使用一种接收三个字符串参数的方法在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}")]
一切正常。但我想用第一种语法
访问它知道为什么会这样吗?
谢谢
答案 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