2009-04-02 3 views
2

У нас есть большое классическое приложение asp, и мы рассматриваем переход на asp.net или php. Я не хочу говорить о плюсах и минусах одного из них, но я бы предпочел узнать, есть ли способы избежать полной перезаписи одним выстрелом при переходе на php. Мы просто не можем перестать поддерживать текущую кодовую базу просто для перезаписи. Поэтому все должно идти рука об руку.Перенос большой классической страницы ASP на php?

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

ответ

4

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

Microsoft предоставляет образец кода: http://www.google.com/search?client=safari&rls=en-us&q=share%20session%20data%20between%20ASP%20and%20ASP.NET%20pages&ie=UTF-8&oe=UTF-8

Используя пример Microsoft, можно было довольно легко реализовать что-то подобное в PHP. В основном вы использовали бы часть ASP классического кода Microsoft выше. Затем в PHP вы должны написать довольно простой класс для чтения состояния сеанса из базы данных в массив или коллекцию при загрузке каждой страницы. Это небольшая дополнительная работа в PHP, но не более, чем несколько дополнительных дней для кодирования и тестирования.

PHP работает очень хорошо на IIS6 в моем ограниченном опыте, и поддержка этого, предположительно, еще лучше в IIS7. Единственная проблема, с которой я столкнулся, заключается в том, что большая часть кода PHP предполагает, что вы работаете в Linux/Unix ... но, как правило, это только проблема для кода обработки файлов (думаю: загрузка изображений пользователя), что работает с локальными файловыми путями. Потому что они предполагают, что ваша файловая система использует/вместо \ like в Windows. Очевидно, достаточно тривиально исправить.

Удачи вам!

+0

очень полезный ответ. большое спасибо. – Mats

1

Да; можно разделить данные сеанса между страницами ASP и ASP.NET на одном веб-приложении. Мы делаем это с нашим устаревшим кодом на моей работе.

Я знаю, что можно запустить PHP на IIS. Однако не уверен в совместном использовании сеансов между скриптами ASP и PHP.

0

Просто еще один вариант. У Джона Броути есть хорошее предложение.

Если данные сеанса не являются конфиденциальной информацией, вы можете работать с куки-файлами, которые также будут агностическими для платформы, пока пользователь не включит файлы cookie.

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

+0

Это на самом деле не вариант для нас. но спасибо за ответ в любом случае. – Mats

1

«Я бы скорее хотел бы знать, есть ли способы избежать полного переписывания в одном кадре при переходе на PHP»

Добро пожаловать в наш мир.

Наша кодовая база FogBugz была написана в классическом ASP, и когда мы хотели предложить ее в Linux, самым простым решением было написать компилятор, который читал asp и испускал php. Это было не так сложно, и прошло не больше нескольких недель.

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

Но, чтобы вернуться к вашему ответу, ASP и PHP ОЧЕНЬ ОЧЕНЬ похожи, и в зависимости от вашего приложения есть действительно наивные переводчики, которые могли бы получить от вас большую часть пути.

+0

звучит как интересная идея. Кстати, вы говорили где-то еще о компиляторе или это все секрет компании? Я бы хотел больше узнать об этом. – Mats

+0

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

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