Миграция классического ASP - веб-формы или ASP.NET MVC? [закрытый]

Попробуйте использовать pandas.DataFrame.apply () для расчетов.

Документ: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.apply.html

Используя ваш код:

[ 110]

Адаптация:

%%timeit
windowSizeInDays = 5
rows = 50
df_ = pd.DataFrame(index=range(rows),columns=['AsOfDate','WindowEndDate','X','SumOverNdays'])
asofdate = [datetime.date.today() + datetime.timedelta(days=i) for i in range(rows)]
windowenddate = [i + datetime.timedelta(days=windowSizeInDays) for i in asofdate]

df_['AsOfDate'] = asofdate
df_['WindowEndDate'] = windowenddate
df_['X'] = np.arange(float(df_.shape[0]))
df_['SumOverNdays'] = df_.apply(lambda x: df_.loc[ (df_["AsOfDate"] >= x['AsOfDate']) & (df_["AsOfDate"] < x['WindowEndDate']) ]["X"].sum(), axis=1)
df_
112 ms ± 3.69 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

Не большая БОЛЬШАЯ разница, но в этом конкретном примере мы не можем добиться большего успеха ...

10
задан Sam Schutte 11 February 2009 в 22:24
поделиться

8 ответов

Это во многом зависит от того, как классическое приложение asp структурировано.

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

Если бы Вы не знаете веб-формы asp.net или asp.net mvc, я сказал бы, что MVC является способом пойти.

Если бы Вы знаете веб-формы очень хорошо и не знаете много о MVC, я сказал бы, что веб-формы являются способом пойти.

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

На другой ноте я всегда озадачиваюсь, когда я сталкиваюсь с клиентом, который хочет, чтобы я сделал работу над их классическим сайтом asp. В каждом случае сайт является путаницей. Худшая часть - то, что они обычно переполнены огромными дырами в системе безопасности.

7
ответ дан 3 December 2019 в 18:36
поделиться

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

4
ответ дан 3 December 2019 в 18:36
поделиться

Я не думаю, что можно было бы быть легче преобразовать затем другой.

Можно кодировать ASP.NET почти то же, как Вы кодируете ASP, если Вы хотели поместить несколько ключевых элементов в codebehind, к которому Вы могли получить доступ в aspx. Никакая привязка данных, никакой gridview и никакой повторитель. Состояние отображения там для помощи Вам, банку легко выяснить, не необходимо использовать его, если Вы не хотите и можете быть выключены в web.config и включены с атрибутом страницы. Веб-формы также имеют режим AspCompat, который предоставляет доступ к объектам Запроса и Ответа или asp, который будет допускать постранично преобразование при желании.

Что касается MVC.net, метод для отображения HTML весьма схож. Это, по-моему - то, где общие черты заканчиваются. Необходимо было бы все еще выделить все Вы логика в модель MVC.

Прибытие из ASP и движение к сети. Форма и теперь MVC.Net, я могу сказать Вам, что WebForms были немного раздражающими/печальными для изучения, с 90% учебных руководств MS, преподавая Вам худшие привычки IE (соединения SQL на странице, перетащив наборы данных вокруг в разработчиках). Однако, после того как Вы заканчиваете тот, может сделать много вещи намного более быстро затем у asp (разбиение на страницы или создавать простую таблицу данных с редактированием, например), я однако ВСЕ ЕЩЕ никогда не видел большой проект веб-форм с дизайном n-tier, что я думал, было легко следовать, реализовать и использовать.

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

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

4
ответ дан 3 December 2019 в 18:36
поделиться

Попытка IMO WebForms скрыть HTML слишком много на мой вкус и может вызвать Ваш проект занять больше времени, чем Вы хотели бы из-за преобразования большого количества HTML в средства управления веб-формами.

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

Я говорю MVC полностью!

1
ответ дан 3 December 2019 в 18:36
поделиться

Существует больше ASP.NET-MVC, чем очевидные общие черты между кодом представления и встроенным кодом ASP. Существуют все части Модели и Контроллера для рассмотрения, который очень отличается от способа, которым записана большая часть ASP.

Это сказало, что я скажу, что MVC был бы лучшим местом для запуска.

2
ответ дан 3 December 2019 в 18:36
поделиться

Так или иначе это является всегда лучшим запуститься с нуля и реализовало только логику.

Я запустил ASP давным-давно (больше чем 12 лет назад), и только в 2006 я переместился в ASP.NET 2.0, даже сегодня я знаю все, но я действительно знаю в значительной степени, что я каждый день делаю на работе.

По-моему, теперь, и оглядывание назад к моему знанию ASP, я перешел бы к Веб-формам вместо MVC, во-первых, это - язык, что это находятся на "рынке" немного несколько лет теперь и очень используемый во всем мире, в то время как MVC все еще в бета-версии, таким образом, не подходящий для продуктивной среды (говорит, что Microsoft - даже если этот сайт записан в MVC).

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

1
ответ дан 3 December 2019 в 18:36
поделиться

Это зависит. MVC ASP.NET не является никакой серебряной пулей и во многих отношениях делает несколько шагов назад с точки зрения производительности разработчика.

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

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

1
ответ дан 3 December 2019 в 18:36
поделиться

Определенно ASP.NET MVC лучше с точки зрения стиля. (Тем не менее, у вас нет для использования повторителей и других глупых элементов управления в приложении WebForms, вы можете просто использовать встроенный код, как в MVC.)

MVC в целом был бы более простым портом, дающим вам лучшую структуру и более приятным.

1
ответ дан 3 December 2019 в 18:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: