2015-09-17 2 views
1

У меня есть веб-сайт, построенный в ASP.NET. Это бизнес-сайт, который работает с большим количеством данных.Должен ли я переключать свой веб-сайт на ASP.NET MVC?

У меня было много проблем, особенно скорости и эффективности, поэтому я сделал все, что мог, с ajax, и скорость значительно улучшилась.

Интересно, должен ли я переключать веб-сайт на ASP.NET MVC?

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

+1

Вы провели какое-либо исследование самостоятельно? Быстрый поиск дал мне много результатов для сравнения производительности между обычным ASP.NET и ASP.NET MVC. –

+1

Только мои два цента - у меня возникнет соблазн сконцентрироваться на улучшении производительности бизнес-процессов, которые происходят внутри приложения по используемой веб-инфраструктуре. Имеете ли вы производительность профилированного приложения? Являются главными горячими точками в рамочном коде? –

ответ

4

Я считаю, что ASP.NET MVC (если нет, уже имеет) становится основным способом разработки веб-сайтов при использовании стека ASP.NET. За последние несколько лет в ASP.NET WebForms гораздо меньше внимания уделяется, что указывает на то, что MVC является разумным выбором для запуска новых проектов (Примечание: WebForms по-прежнему остается популярным выбором для некоторых разработчиков, хотя я не говорю, t использовать его когда-либо. Там все еще есть место.)

С уважением, перенося существующие приложения ASP.NET WebForms, я был бы немного осторожен. Не переходите к другой технологии, если у вас нет очень-очень веской причины для этого. В зависимости от таких факторов, как количество кода, дизайн, может потребоваться много усилий для преобразования проекта ASP.NET WebForms в ASP.NET MVC.

В вашей ситуации вы упомянули проблемы с производительностью, которые заставили вас подумать о переходе на ASP.NET MVC. Я бы посмотрел больше на то, почему ваш сайт не работает так, как вам хотелось бы. Используйте профилировщик для определения того, какие кодовые пути занимают самый длинный от выполнения. Существует множество сайтов, построенных с использованием ASP.NET WebForms, которые выполняются в высоком масштабе, поэтому я не ошибаюсь, перейдя к другой технологии, чтобы решить проблему производительности.

0

У меня такая же ситуация с одним из моих клиентов и после изучения стека MEAN и работы с другой компанией, которая сделала переход к Нэнси. Я бы рекомендовал использовать REST API с Nancy и чистым интерфейсом с угловым или другим Javascript интерфейсом. Это позволит значительно быстрее реагировать и гибко двигаться по дороге. Плюс это даст вам больше гибкости, если вы когда-нибудь захотите открыть свой API для других приложений.

Я попытался переместиться из веб-форм в MVC, и в то время это было не очень легко.

0

Вы можете использовать Web-формы Asp.net, с более ajax и меньше сообщений с обратной почтой и меньше использования состояния просмотра, если вы не хотите переходить на asp.net mvc.

Asp.net MVC с другой стороны очень хорош с легкими страницами и возможностями света, чтобы сочетаться с решениями на основе ajax на стороне клиента. И его архитектура поддерживает масштабируемость.

0

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

Что касается быстрого и эффективного использования, то это несколько. Во-первых, у WebForms много накладных расходов, чтобы иметь такое поведение в форме окон (что, честно говоря, никогда не было идеально подходящим для веб-страниц). Во-вторых, MVC имеет тенденцию отображать HTML, который намного чище без состояния представления или длинных идентификаторов. Таким образом, эти два элемента могут сделать это быстрее. (Конечно, если у вас возникают проблемы с быстродействием, вам также необходимо внимательно посмотреть на своем хост-сервере.)

Что касается перезаписи вашего текущего проекта на использование MVC, это более сложный вопрос, на который вы можете ответить. WebForms по-прежнему работают и, вероятно, будут поддерживаться Visual Studio на долгие годы. В зависимости от вашего проекта переписывание может быть дорогостоящей задачей.Поэтому вам нужно решить, стоит ли это. Тем не менее, я надеюсь переписать все мои веб-веб-сайты с использованием MVC, если позволяет время, хотя причина в том, чтобы просто обновить внешний вид и сделать их более восприимчивыми к мобильным устройствам.

+0

Сторона примечания: WebForms не предотвращает отзывчивый дизайн. Но использование WebForms aspx designer может сделать это. В качестве примера см. Этот [сайт] (http://www.domainelaurentmartray.com) и сравните с тем, что было [в системе wayback] (http://web.archive.org/web/20140216233229/http:/ /www.domainelaurentmartray.com/). Это был и остается WebForms. Вместо того, чтобы переписывать его, он был переработан. –

+0

Чтобы уточнить мои комментарии, я хочу переписать сайты, потому что я хотел бы сделать их более современными и отзывчивыми, но я хочу переписать их с помощью MVC, потому что мне нравится MVC лучше. Я мог бы сделать их более отзывчивыми с WebForms, но предпочитаю не делать этого. –

2

Это зависит от того, где ваши текущие проблемы.

  • Должен ли вы узнать MVC - определенно.
  • Должны ли вы писать новые приложения в MVC - обязательно.
  • Должны ли вы переносить старые приложения - зависит.

Какова архитектура текущего приложения?

Сколько времени и ресурсов вам нужно выделить для переписывания и борьбы с существующим приложением?

Есть ли четкие данные или средний уровень или это доступ к данным, встроенный в каждый код страницы позади? Многие приложения написаны так, что внешний интерфейс может быть легко заменен или вызван из других приложений (например, через API), но многие приложения веб-форм (не все) написаны без этих соображений, и поэтому это не будет своп, но полностью переписать заявку.

Каковы текущие проблемы, кроме «это немного медленно»? Например, я видел приложение, которое загрузило всю модель данных в память для каждой страницы - простое изменение интерфейса не имело никакого значения в этом случае, поскольку причиной медленности была загрузка данных. Изменение архитектуры для загрузки только того, что было необходимо, значительно увеличило скорость.

Усовершенствования, которые вы можете получить от использования MVC, не обязательно являются бизнес-уровнями, которые вы можете ожидать. Есть много сайтов, которые входят в это более подробно, вот некоторые, чтобы вы собираетесь:

  • MVC генерирует (много) чистого HTML в выходной - так страниц легче развивать/поддерживать и проще для разработки пользовательского интерфейса взаимодействия в javascript.
  • MVC имеет значительно улучшенный трубопровод, к которому можно подключить, например, для добавления фильтров действий.
  • IoC/DI огромно проще в MVC
  • Отделить код модели/контроллера с точки зрения HTML

Ваши приложения пользователи не будут заботиться о любом из них.

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