2009-03-25 1 views
8

У меня есть приложение, которое я хочу (в конечном итоге) преобразовать в ASP.NET MVC. Я хочу полностью обновить сервис (до ASP.NET), но хочу использовать текущие компоненты asp для запуска текущей функции, чтобы я мог обновлять небольшие фрагменты, а также увеличивал количество обновлений в новой структуре. Этот сайт сильно зависит от DLL VB6, который не очень зрелый, поэтому мы также хотим обновить его в конечном итоге, потенциально заменив текущую функциональность веб-службами. Есть ли быстрое исправление или это задание на 3 месяца +? Кроме того, я уверен, что об этом думали раньше, красота MVC заключается в том, что я думаю, что есть способ справиться с этим, хотя я не уверен, с чего начать. Какой бы быстрый способ конвертировать это приложение (через 40 или около часов), где я могу просто внести небольшие изменения в конфигурацию и работать в ASP.NET MVC?Классический ASP в ASP.NET MVC (C#)

ответ

7

Короткий ответ ... Вы не можете. Различия между классическими asp и asp.net довольно радикальны не только в синтаксисе, но и в общем дизайне. MVC - это не просто аналогичная реализация для классического asp, хотя он может выглядеть так. Любое преобразование потребует времени, мысли и усилий, чтобы заставить его полностью работать.

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

+0

Я не хотел подразумевать, что я думал, что они были похожи любыми способами. Спасибо. Могу ли я спросить, в бок о бок вариант, есть ли способ, которым мы могли бы прекратить регистрацию библиотеки VB6 и сделать ее горячей для развертывания. –

+0

Насколько я знаю, вам все равно придется регистрировать DLL, если вы не перезапишите его (по крайней мере, до классического кода VB). С .NET вы можете уйти от создания взаимодействия и ссылки на него локально, хотя это не поможет классическому коду, который зависит от него. –

3

Перезапишите свою VB6 DLL как COM-сборную сборку .NET. Затем вы можете ссылаться как на ASP, так и на ASP.NET.

Надеюсь, что большая часть тяжелого груза находится в DLL VB6. Если это так, вы можете начать перенос страниц на ASP.NET MVC, как хотите. Вы должны следить за связью между страницами - такими, как Session и Cookies. Файлы cookie будут работать так же, как есть, но вам нужно переместить Session на нечто доступное между MVC и ASP, как Sql Server. К сожалению, для этого требуется переписать вызовы сеанса в ASP на что-то еще (возможно, оболочку COM вокруг компонента .NET снова). Однако поиск и замена должны сделать трюк.

Что касается временной шкалы и объема работы, это влечет за собой - это довольно контекст, зависящий от количества спагетти в вашем существующем приложении, сколько логики находится в DLL и ASP, и сколько страниц вы переносите.

Я не думаю, что 40 часов - это разумное количество времени, чтобы ускориться с .NET, MVC и переписать - хотя я думаю, что 2-3 месяца могут быть.

+0

зависит от разработчика, каких учебных ресурсов у них есть и как «до скорости» им нужно получить. я бы поднял верхние границы на 6-8 месяцев –

2

Я работаю над подобным проектом уже довольно давно; У нас было классическое приложение ASP и он хотел переместить его на ASP.Net (используя WebForms). Мы делаем это за раз, если добавляем новую страницу, мы делаем это в .Net и просто перенаправляем пользователя между файлами .asp и .aspx. Работа с MVC не должна отличаться.

Самой большой проблемой, с которой мы столкнулись, была безопасность; Сайт потребовал вход в систему, и сеанс, конечно же, не был разделен между ними. Мы справились с этим, сохранив бит сеанса, о котором мы заботились о таблице в базе данных и передали GUID через строку запроса (мы делаем это только один раз при входе в систему, а затем удаляем запись из базы данных, чтобы снизить риски безопасности).

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

  • Нет связанных вопросов^_^