В 5-минутном видео по следующей ссылке, на отметке 1:10, Джон Галлоуэй говорит, что добавление метода, называемого DeleteComment, в его класс контроллера ControlController, будет автоматически адаптироваться к удалению http-глагола.
Как MVC с WebApi знает, как разбить методы на правильные глаголы? Я знаю, что маршрутизация в файле global.asax.cs направляет запросы правильному контроллеру, но как запрос на удаление "сопоставляется по соглашению" с методом удаления или любым методом? Особенно, когда может быть более одного метода для каждого глагола? "По соглашению" заставляет меня думать, что он просто смотрит на первое слово в имени метода... но если это так, ему нужно будет прочитать сигнатуру методов, чтобы сказать два метода удаления или два метода разделить друг от друга... и где все это определено?
Видео: http://www.asp.net/web-api/videos/getting-started/delete-and-update
Спасибо!
Изменить: Вот код в классе ValuesController, который входит в шаблон WebApi. Это было источником моего первоначального вопроса. Как работает "конвенция", которая различает эти (и любые другие методы в контроллере)?
// GET /api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET /api/values/5
public string Get(int id)
{
return value;
}