Как совместно использовать сессии между приложением ASP.net и PHP?

Моя компания приняла некоторое старое php приложение. Из-за нашего предпочтения на ASP.net и на отсутствие любой документации от предыдущего разработчика, мы не хотим тратить много ресурсы на разработку в PHP. Для того, чтобы реализовать новые опции, мы создадим приложение Asp.net, которое имеет то же, смотрят на пользователя. Мы хотим разработать своего рода 'сосуществующее' веб-приложение. Поэтому мы должны совместно использовать сессии между PHP и Asp.net webapplication проект, потому что существует usermanagement, связанный с существующей базой данных MySQL.

(например, свяжите направление к веб-сайту PHP и свяжитесь, 'B' направляет к приложению asp.net),

Как мы можем совместно использовать сессию между и PHP и приложение asp.net?

И у кого-либо есть подсказка для этой 'сосуществующей' вещи, которая могла бы быть полезной в разработке?

Править: IIS 6 был бы нашим целенаправленным сервером, altough IIS 7.5 также будет опцией

13
задан citronas 30 March 2010 в 10:22
поделиться

4 ответа

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

Однако это может быть возможно, если использовать страницу PHP, которая считывает содержимое сеанса, сохраняет его в скрытых полях и затем вызывает страницу ASP.NET, которая считывает эти поля и загружает их в сеанс ASP.NET.

Теоретически это возможно.

2
ответ дан 1 December 2019 в 23:47
поделиться

http://cz.php.net/manual/en/function.session-set-save-handler.php
http://support.microsoft.com/kb/317604

Вы можете записать сессии PHP в MsSQL и настроить .NET на использование MsSQL в качестве бэкенда для сессий.

0
ответ дан 1 December 2019 в 23:47
поделиться

Ничего страшного.
Ваше asp-приложение должно выполнять три простых действия:

  • Получать cookie с идентификатором сеанса от клиента;
  • искать файл sessions_ в сохранении сеанса PHP path
  • реализует функции сериализации / десериализации PHP для чтения / записи данных сеанса.
0
ответ дан 1 December 2019 в 23:47
поделиться

О боже, может быть, однажды вы увидите ошибку своего пути, тем временем…

По умолчанию PHP пишет данные сеанса в виде сериализованного массива в файл, названный в соответствии с сеансом. Сеанс обычно идентифицируется файлом cookie с именем PHPSESSID.

Итак, в PHP для ручного чтения сеанса:

$imported_session=unserialize(file_get_contents(session_save_path() . '/' . $_COOKIE[session_name()]));

Формат файла очень прост и прост для синтаксического анализа.

Однако довольно легко реализовать собственный обработчик сеанса PHP для записи файлов в любом формате / в любое хранилище, которое вам нравится (обратите внимание на автоматическое добавление, чтобы узнать, как связать измененный код с каждой страницей без необходимости перезаписывать каждую один). Или измените имя файла cookie, используемого для хранения сеанса.

С.

-1
ответ дан 1 December 2019 в 23:47
поделиться
Другие вопросы по тегам:

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