Как метод в MVC WebApi сопоставляется с глаголом http?

В 5 -минутное видео по следующей ссылке, на отметке 1 :10, Джон Гэллоуэй говорит, что добавление метода с именем DeleteComment к его классу контроллера CommentsController по соглашению автоматически сопоставляется с HTTP-глаголом удаления.

Как MVC с WebApi знает, как направить методы к нужным глаголам? Я знаю, что маршрутизация в файле global.asax.cs направляет запросы к правильному контроллеру, но как запрос на удаление «сопоставляется по соглашению» с методом удаления или любым другим методом? Особенно, когда для каждого глагола может быть более 1 метода? «По соглашению» я думаю, что это просто просмотр первого слова в имени метода... но если это так, ему нужно будет прочитать сигнатуру методов, чтобы отличить два метода удаления или два метода получения... и где это все определено?

Видео: http://www.asp.net/web-api/videos/getting-started/delete-and-update

Спасибо!

Редактировать :Вот код примера класса ValuesController, который входит в шаблон WebApi. Это было источником моего первоначального вопроса. Как работает «соглашение», которое отличает эти (от любых других методов в контроллере )?

// GET /api/values
    public IEnumerable Get()
    {
        return new string[] { "value1", "value2" };
    }

    // GET /api/values/5
    public string Get(int id)
    {
        return value;
    }

31
задан Andrew B Schultz 4 May 2012 в 21:34
поделиться