Простой REST сервис с WCF - PullRequest
       6

Простой REST сервис с WCF

0 голосов
/ 03 февраля 2012

Я пытаюсь создать простой сервис 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}")]

Работает нормально. Но я хотел бы получить к нему доступ с первым синтаксисом

Есть идеи, почему это происходит?

Спасибо

1 Ответ

1 голос
/ 03 февраля 2012
[WebGet]
public string Process(string s, string sp, string p)
{
    // some processing
    return result;
}

тогда

http://localhost:57129/OneTestREST/?s=str1&sp=str2&p=str3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...