Интеграция ASP.Net и («классического») ASP в существующее приложение - PullRequest
2 голосов
/ 25 марта 2011

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

У нас есть большое сложное приложение, написанное на («классическом») ASP.

Часть этого должна быть переписана (к сожалению, переписать все это практически невозможно), и мы будем использовать ASP.Net.

(Исходное приложение не использует явноОбъект сеанса вообще)


Мне кажется, есть два способа продолжить хостинг этого.

Вариант 1 : Создатьновый виртуальный каталог и обслуживайте только что перестроенную часть приложения - связывая туда и обратно по мере необходимости между ASP и ASP.Net

Вариант 2 : оставайтесь в существующем виртуальном каталоге иПоместите все приложение ASP.Net в подкаталог текущего каталога ASP


Ясно Опция 1 «чище», и у меня есть мягкое предпочтение сделать это таким образом.

Однако из источникаТочка зрения установки и установки Вариант 2 , вероятно, проще.

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

Мне было бы интересно услышать от людей, которые сделали Вариант 1 или Вариант 2 (или, возможно, каким-то другим способом?).

Также интересно узнать, есть ли проблема с любым из подходов, которые я упустил.

Ответы [ 3 ]

2 голосов
/ 25 марта 2011

Давным-давно (около 3 лет назад) я занимался аналогичным проектом, когда у клиента был классический сайт ASP, и он хотел разработать новую функциональность в ASP.NET.Я пошел по второму подходу, где создал еще один виртуальный диск в корне, чтобы поместить туда все мои файлы.Преимущества были очевидны с точки зрения управления исходным кодом.Однако я должен был добавить дополнительный шаг в моей настройке, чтобы настроить версию ASP.NET для моего дочернего VD, чтобы она работала.Кроме того, совместное использование сеанса было еще одной проблемой, с которой, я уверен, у вас нет проблем, как вы описали.

1 голос
/ 25 марта 2011

Никаких серьезных последствий с точки зрения кодирования. Различия в основном эстетические. Я склоняюсь к варианту № 2. Это позволяет мне иметь другую конфигурацию IIS только для кода asp.net - на тот случай, если он мне понадобится в будущем.

1 голос
/ 25 марта 2011

Я сделал это обоими способами:

Вариант 2. У меня было классическое приложение ASP и я добавил новые страницы в ASP.NET 2, используя тот же виртуальный каталог, все работает нормально, но вам нужно передать информацию о сеансе, япомните, что я использовал QueryString для этого, вы можете посмотреть Как поделиться состоянием сеанса между классическим ASP и ASP.NET .Если вы не используете сессию, это даже просто.

Опция 1: Из того же приложения ASP я назвал приложение ASP.NET (другой виртуальный каталог), используя ссылки в меню основного приложения.Но в данном случае это была логически отделенная часть.В этом случае я также передавал информацию о сеансе через QueryString.

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

Отладка проста в случае варианта 1. В случае варианта 2 вы можете заменить страницу на страницу.

...