Я недавно занимался проектами с использованием ASP.NET MVC 5. Очень легко и удобно использовать маршрутизацию атрибутов. Мне интересно, что более эффективно сравнивать маршрутизацию атрибутов с традиционным методом маршрутизации в большом приложении.Что более эффективно: традиционная маршрутизация или маршрутизация атрибутов?
ответ
Маршрутизация MVC кэшируется при запуске только один раз. Для запуска рефлексии при запуске есть небольшая часть штрафа за производительность. После запуска не было никакой разницы. Когда я говорю крошечный, что-то от 0,1 мс до 1 или 2 секунды для большого веб-сайта.
Но не предварительно оптимизируйте на этом этапе. MVC все основывается на отражении в любом случае.
Преимущества сохранения маршрутов рядом с действиями вашего контроллера (для обслуживания) намного превышают крошечные эксплуатационные издержки, которые он представляет.
Я бы сказал, как ответ на столько вопросов, «это зависит».
Эффективность определяется как количество полезного результата, получаемого вами от процесса, за счет общей суммы затраченных усилий. Таким образом, по этому определению я бы сосредоточился на эффективности человека, поскольку один час времени программиста, вероятно, примерно равен месячной вычислительной мощности на Amazon EC2.
Согласно Microsoft:
Когда определения маршрута будут размещаться совместно с действиями, в пределах того же исходного файла, а не декларируемых на внешнем классе конфигурации, это может сделать его легче рассуждать о отображение между URI и действиями.
Я бы сделал шаг за пределы этого и сказал, что легче понять, что происходит, и что делает. Это спасло меня бесчисленное количество часов, чтобы сделать это таким образом; на самом деле, я был так расстроен с помощью стратегии централизованного сопоставления, что я преобразовал все свои службы, чтобы использовать формат на основе атрибутов.
- 1. Маршрутизация атрибутов против Конвенции
- 2. WebAPI и маршрутизация атрибутов
- 3. Маршрутизация атрибутов WebApi2 404
- 4. Маршрутизация атрибутов не работает
- 5. MVC5 Маршрутизация атрибутов
- 6. (ASP MVC4) Маршрутизация атрибутов/RedirectToRoute
- 7. 1.0 более-маршрутизация
- 8. Маршрутизация не работает без атрибутов
- 9. ASP MVC 5 Маршрутизация атрибутов VS. Маршрутизация на основе протокола
- 10. Маршрутизация атрибутов не работает MVC5
- 11. Маршрутизация атрибутов с помощью RoutingParameter
- 12. Что такое угловая маршрутизация?
- 13. Маршрутизация более чем одного действия
- 14. Маршрутизация: resource_path или resource_url?
- 15. Ручная маршрутизация или FriendlyId?
- 16. Маршрутизация атрибутов - необязательный параметр не работает?
- 17. Маршрутизация IBM BPM на основе атрибутов
- 18. MVC5 Маршрутизация атрибутов с расширением файла
- 19. Корневой префикс для WebApi v2 Маршрутизация атрибутов
- 20. Несколько необязательных параметров маршрутизация атрибутов api api
- 21. Маршрутизация .NET MVC с использованием только атрибутов
- 22. Маршрутизация атрибутов тестирования модулей в WebApi2
- 23. Маршрутизация атрибутов WebAPI не работает в OWIN
- 24. Атрибут Маршрутизация не работает с двумя или более контроллерами
- 25. .net Маршрутизация атрибутов WebApi с параметром коллекции
- 26. Маршрутизация атрибутов API API HTTP 404
- 27. ASP.NET Web Api 2 - Маршрутизация атрибутов поддомена
- 28. MVC5 Маршрутизация атрибутов в пространстве WebApi
- 29. Маршрутизация атрибутов Префикс маршрута MVC5 с шаблоном
- 30. Маршрутизация атрибутов в ASP.NET Core 1.0