Я пытаюсь создать простой сервис REST в VS2010 (.NET 4) одним методом, который получает три строковых параметра. Я хочу, чтобы к нему обращались как с помощью 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
Когда я пытаюсь получить доступ к сервису с URL-адресом типа
http://localhost:57129/OneTestREST/s=str1&sp=str2&p=str3
Я получаю ошибку
Сведения об исключении: System.Web.HttpException: потенциально опасный
Значение Request.Path обнаружено клиентом (&).
Если я изменю атрибут на
[WebGet(UriTemplate = "/{s}/{sp}/{p}")]
Работает нормально. Но я хотел бы получить к нему доступ с первым синтаксисом
Есть идеи, почему это происходит?
Спасибо