Это довольно простое дерево решений, на самом деле.
Выберите ASP.NET MVC, если вы ...
- Тщательно относитесь к URL-адресам
- Тщательно позаботьтесь о своем HTML
- Хотите истинного разделения проблем
- Желаем тестируемости насквозь
- Требуется гибкость механизмов просмотра (ASPX, NVelocity, NHaml и т. Д.)
Выберите веб-формы, если вы ...
- Наслаждайтесь динамической абстракцией WebForms (ViewState)
- Не против модель PostBack
- Предпочитают компоненты, которые можно «перетаскивать» на странице
Для меня ответом будет 99% ASP.NET MVC, потому что я думаю, что это гораздо лучше подходит для Интернета. Я думаю, что история ajax также намного чище, и я полностью контролирую свои HTML и URL. Кроме того, я могу довольно легко протестировать свой веб-сайт (контроллеры).
Да, я знаю, что вы можете получить чистые URL-адреса в WebForms, и вы можете иметь чистый (er) HTML с помощью адаптеров управления, и вы можете достичь уровня тестируемости с помощью шаблона MVP в WebForms, но это все не путь приближается. В ASP.NET MVC этот материал является основным. Вот как ты это делаешь.
И не беспокойтесь о предварительном / бета-статусе. Команда всегда утверждала, что вам не нужна действующая лицензия для ее развертывания (даже если они сейчас ее предлагают). Это просто добавка к существующей среде выполнения ASP.NET.
Это как автоматическая или механическая коробка передач. Выберите тот, который делает вас счастливым, и бегите с ним.