Советы по новому проекту: дополнительная функциональность в существующем приложении ASP.NET - PullRequest
0 голосов
/ 16 марта 2012

Ищу предложения относительно предстоящего проекта, в котором я участвую, и который вращается вокруг добавления определенных функций в существующее приложение ASP.NET, работающее на IIS 6.0, запрограммированное в VB.NET.

Чтобы помочь в дальнейшем развитии, клиент хочет, чтобы дополнительная функциональность была как можно более надежной в будущем. В идеале я сказал, что хотел бы найти решение с использованием ASP.NET MVC3, работающего на IIs 7.5 и .NET 4, написанных на C #. Это решение будет действовать как плавное дополнение к текущему веб-порталу, которое выглядит, вероятно, просто как дополнительная страница с вкладками.

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

Основными проблемами, которые я могу предвидеть, является, прежде всего, обмен подробностями сеанса между веб-приложением asp.net и новым приложением. Особенно в отношении поддержания состояния сеанса (и отсутствия времени ожидания IIS в одном из приложений). Кроме того, соединение двух «приложений» кажется проблематичным в моей голове, хотя это может быть намного проще, чем я боюсь.

Я прошу предложения по этим двум проблемам, если у кого-то есть идеи, скажите, пожалуйста!

До сих пор я придумывал следующие решения, ужасные они или нет:

1) Внедрить новую функциональность в существующую кодовую базу (не лучший вариант). Это будет означать потерю любой потенциальной способности к обновлению в будущем, а также означает, что не будут следовать более совершенным соглашениям по ОО с использованием инфраструктуры MVC.

2) Использование iFrame для ссылки на бритвенные страницы отдельного приложения MVC3 (которое я предпочитаю в настоящее время). Позволяет использовать все новые технологии, однако недостатком является обмен данными сеанса. Либо через iFrame "атрибуты" (это возможно?) Через сохранение состояния сеанса в БД? (медленно?) или даже какое-то взаимодействие между веб-сервисами между приложениями для передачи / извлечения данных пользователя / сеанса?

Любые советы / предложения с благодарностью!

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Если текущий сайт можно обновить до .NET 4.0, нет никаких причин, по которым вы не расширили бы существующее приложение.

Ничто не мешает вам смешивать MVC и веб-формы (действительно, есть несколько статей о том, как это сделать). Ничто не мешает вам смешивать VB.NET и C # (или, насколько я знаю, мешать вам делать MVC в VB.NET).

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

0 голосов
/ 16 марта 2012

Я согласен с вами, что C # и MVC - это "путь", но, к сожалению, совместное использование двух приложений приведет к целой куче головных болей, не в последнюю очередь к различным идентификаторам сеансов. Вам, вероятно, понадобится таблица с общей базой данных, чтобы сопоставить их вместе, и, как вы уже, наверное, можете себе представить, это пахнет «Band-aid».

Каковы последствия в восстановлении того, что существует, в C #? Возможно, вы могли бы предложить полное обновление. Сами клиенты, кажется, превозносят достоинства будущего, и поэтому это будет путь. И нет, я бы не стал поощрять использование «конвертера кода», но это действительно не должно быть таким сложным.

Следующее, что я должен рассмотреть, это "будущее". Беспокоит ли клиент, что VB.NET скоро исчезнет или что в будущем он ничего не сможет обработать? Честно говоря, я считаю, что это очень маловероятный сценарий.

Я думаю, что я немного колеблюсь, но, по сути, объединение двух приложений, одного со старым и одного с новым функционалом, вызовет головную боль. Эту проблему можно решить, перенеся старый сайт на C # / MVC, а затем добавив дополнительную функциональность. Правда, сегодня это может показаться большим обязательством, но в дальнейшем это принесет дивиденды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...