Как заставить C# взаимодействовать с сеансом PHP

У меня есть веб-приложение на C#, которое я хочу интегрировать с корзиной покупок PHP. Возможно ли это?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
1 817
5

Ответы 5

Это невозможно, если он не находится в базе данных и вы не написали алгоритм (де) сериализации, который работает между обоими языками. Если предполагается, что это будет доступ только для чтения, я бы сделал пользователя с доступом только для чтения только для этой цели.

Если он хранится в файловой системе, я считаю небезопасным доступ к нему.

Что ж, вам действительно нужно описать детали более подробно, но это будет нетривиально, если это возможно.

Как насчет Response.Redirect to cart.php? Inputparams = foo -> do work -> PHP redirect to thankyou.aspx? Inputparams = bar

Можете ли вы использовать PHP как услугу?

Или запросить вывод PHP как HTTPWebRequest?

На самом деле это зависит от деталей. Вы хотите, чтобы приложение PHP работало в вашей среде .NET? в таком случае я бы посмотрел на Фалангер, но я не думаю, что он будет работать так, как вы хотите.

Вы также можете взглянуть на PHP на IIS, но это также не даст вам много информации.

Как упоминалось в annakata, я предполагаю, что вам будет лучше звонить / перенаправлять в / из PHP-скрипта на ваш веб-сайт ASP.NET.

И у меня такое чувство, что это будет нелегкая работа, так что ... тебе повезло;)

Здесь есть несколько вариантов. В то время как Java имеет больше возможностей для интеграции, особенно для сеансов, C# /. Net, вероятно, будет полагаться на другие продукты для взаимодействия.

Если бы это была фоновая обработка (например, обработка выполненных заказов после оформления заказа), это, вероятно, было бы проще. Однако вы хотите смешивать веб-приложения. То, как и что вы хотите их смешать, может (и, вероятно, делает) сделать это довольно трудным - или, по крайней мере, неизведанными водами. В конце концов, PHP работает под веб-приложениями Apache и .Net под IIS.

Вам придется пройти через другой технологический уровень. Другие упоминали базы данных, но это не жизнеспособное или эффективное решение для хранения сеансов в реальных веб-приложениях.

Лучше всего, вероятно, использовать memcached, для которого существует хотя бы одна клиентская библиотека C#. Вот пример кроссплатформенная сериализация с использованием memcached.

бобовый стебель также может быть полезен, если у вас есть фоновая обработка работы. Это процесс распределенной рабочей очереди, который имеет несколько клиентских библиотек (например, Ruby, PHP, Perl, Erlang). Я не видел версию C#, но, вероятно, это можно было сделать. Обратитесь к протокольная документация.

Я упоминаю об этом, потому что у вас могут быть рабочие запросы PHP на запись в beanstalkd, а не на опрос C# или опрос сеанса PHP.

PHP хранит свою сессию в файлах. Клиентский cookie содержит имя файла, php.ini содержит путь.

Доступ к данным сеанса php из dotnet должен быть относительно простым. Я ищу библиотеку, которая делает это, но если я не могу ее найти, я напишу ее сам.

Другие вопросы по теме