Я пытаюсь создать службу REST в .NET 3.5 с помощью WCF REST Contrib . Мой сервис почти работает нормально, но я сталкиваюсь со странной ошибкой.
В принципе, у меня есть два метода:
[WebInvoke(UriTemplate = "/books?id={identity}", Method = "PUT")]
public string InsertBook(string identity, Book book)
{
// snipped
}
и
[WebInvoke(UriTemplate = "/books?id={identity}", Method = "GET")]
public Books[] ListBooks(string identity)
{
// snipped
}
Пока я получаю сообщение об ошибке во время активации:
System.InvalidOperationException не был обработан кодом пользователя. Message = "UriTemplateTable не поддерживает несколько шаблонов, которые имеют эквивалентный путь как шаблон '/ books? Id = {identity}', но имеют разные строки запроса, где строки запроса не могут быть устранены через буквальные значения. Для получения более подробной информации см. документацию по UriTemplateTable. " Source = "System.ServiceModel.Web"
Если я переименую второй метод в /books2?identity
, он будет работать нормально.
Есть идеи, почему UriTemplateTable
не различает глаголы?