2

Я недавно занимался проектами с использованием ASP.NET MVC 5. Очень легко и удобно использовать маршрутизацию атрибутов. Мне интересно, что более эффективно сравнивать маршрутизацию атрибутов с традиционным методом маршрутизации в большом приложении.Что более эффективно: традиционная маршрутизация или маршрутизация атрибутов?

ответ

2

Маршрутизация MVC кэшируется при запуске только один раз. Для запуска рефлексии при запуске есть небольшая часть штрафа за производительность. После запуска не было никакой разницы. Когда я говорю крошечный, что-то от 0,1 мс до 1 или 2 секунды для большого веб-сайта.

Но не предварительно оптимизируйте на этом этапе. MVC все основывается на отражении в любом случае.

Преимущества сохранения маршрутов рядом с действиями вашего контроллера (для обслуживания) намного превышают крошечные эксплуатационные издержки, которые он представляет.

0

Я бы сказал, как ответ на столько вопросов, «это зависит».

Эффективность определяется как количество полезного результата, получаемого вами от процесса, за счет общей суммы затраченных усилий. Таким образом, по этому определению я бы сосредоточился на эффективности человека, поскольку один час времени программиста, вероятно, примерно равен месячной вычислительной мощности на Amazon EC2.

Согласно Microsoft:

Когда определения маршрута будут размещаться совместно с действиями, в пределах того же исходного файла, а не декларируемых на внешнем классе конфигурации, это может сделать его легче рассуждать о отображение между URI и действиями.

Я бы сделал шаг за пределы этого и сказал, что легче понять, что происходит, и что делает. Это спасло меня бесчисленное количество часов, чтобы сделать это таким образом; на самом деле, я был так расстроен с помощью стратегии централизованного сопоставления, что я преобразовал все свои службы, чтобы использовать формат на основе атрибутов.

Смежные вопросы