[ASP.NET / PHP] Combinatie tussen beide mogelijk?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Wijnbo
  • Registratie: December 2002
  • Laatst online: 06-09 20:35

Wijnbo

Electronica werkt op rook.

Topicstarter
Wat ik wil:

Gebruiker logt in op php pagina. Dan wil ik het liefst wat C# code aanroepen die "object" in een sessie gooit.

Vervolgens wil ik lekker door kunnen browsen in het PHP gedeelte, en dan een knop aanklikken die me doorstuurt naar blah.aspx. Dan wil ik in de code behind het eerder gesette object uit de sessie halen. Is zoiets mogelijk, en hoe kan ik dit het beste doen?

Aangezien dit nogal vaak gaat voorkomen omdat nieuwe onderdelen van het pakket in ASP.NET worden geschreven en later oude php pagina's worden vervangen door ASP.NET wil ik dit zo handig mogelijk aanpakken. Tijd om het hele pakket in 1 keer te herschrijven is er niet.

Huidige situatie: PHP pakket + MySQL database.
Toekomst: PHP + ASP.NET pagina's op MySQL. (is LinQ mogelijk op MySQL?)
Daarna: ASP.NET op MySQL
Daarna gaat de hele database over naar MSSQL.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Schrijf de data die je wilt sharen gewoon weg in de database, onder een id wat uniek is voor die sessie. Dan kun je in beide processen weer bij die data.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Kijk eens naar webservices (asmx) + soap op PHP.
Als je .NET 3.5 hebt kun je de webservices ook eventueel vanuit jaavscript (ajax) benaderen.

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • Wijnbo
  • Registratie: December 2002
  • Laatst online: 06-09 20:35

Wijnbo

Electronica werkt op rook.

Topicstarter
Woy schreef op donderdag 02 april 2009 @ 09:30:
Schrijf de data die je wilt sharen gewoon weg in de database, onder een id wat uniek is voor die sessie. Dan kun je in beide processen weer bij die data.
Das best een goed idee. Probleem is dat er enorm veel data geshared wordt, en nog meer geshared gaat worden. Dan zou ik haast een tabel moeten maken met alleen een id en een data kolom, met id elk dingetje uniek maken. Probleem is dan dat ik een enorme groei in mijn DB krijg.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Wijnbo schreef op donderdag 02 april 2009 @ 09:35:
[...]
Das best een goed idee. Probleem is dat er enorm veel data geshared wordt, en nog meer geshared gaat worden. Dan zou ik haast een tabel moeten maken met alleen een id en een data kolom, met id elk dingetje uniek maken. Probleem is dan dat ik een enorme groei in mijn DB krijg.
Defineer "enorm veel data".

Je zult op de een of andere manier data tussen 2 processen moeten delen. Je gaat namenlijk niet makkelijk in het geheugen van ASP.NET of andersom in het geheugen van PHP kunnen.

Je zult dus een manier nodig hebben om deze data te sharen. Dat kan op verschillende manieren, DB/Shared Memmory/File System.

Maar op alle manieren zul je die data ergens op moeten slaan.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 10:43

Matis

Rubber Rocket

Wijnbo schreef op donderdag 02 april 2009 @ 09:20:
Gebruiker logt in op php pagina. Dan wil ik het liefst wat C# code aanroepen die "object" in een sessie gooit.
[...]
Tijd om het hele pakket in 1 keer te herschrijven is er niet.
Waarom spendeer je de tijd die je nu kwijt bent aan het schrijven om van PHP naar ASP te gaan niet in het vermaken van de inlogpagina in ASP.

Daarnaast wil ik nog weten wat voor hoeveelheden data er verzonden gaan worden.

Ik neem niet aan dat je met een inlogpagina een ruw hd filmpje van 10 minuten mee stuurt :+

Daarnaast kun je eventueel met SOAP object passing doen tussen PHP en ASP.

Edit:

Ik weet ook niet of het mag en/of kan, maar mss kun je een cookie gebruiken voor het unieke ID en andere gegevens en die door ASP op laten vangen

[ Voor 10% gewijzigd door Matis op 02-04-2009 10:06 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

Verwijderd

Niemand_Anders schreef op donderdag 02 april 2009 @ 09:31:
Kijk eens naar webservices (asmx) + soap op PHP.
Als je .NET 3.5 hebt kun je de webservices ook eventueel vanuit jaavscript (ajax) benaderen.
Sluit ik me bij aan.

Nog een alternatief: CORBA, maar maakt het wellicht alleen maar gecompliceerder.
Draait je server nu op Apache of op IIS?

Acties:
  • 0 Henk 'm!

  • Wijnbo
  • Registratie: December 2002
  • Laatst online: 06-09 20:35

Wijnbo

Electronica werkt op rook.

Topicstarter
Verwijderd schreef op donderdag 02 april 2009 @ 10:19:
[...]

Sluit ik me bij aan.

Nog een alternatief: CORBA, maar maakt het wellicht alleen maar gecompliceerder.
Draait je server nu op Apache of op IIS?
Apache. Wordt dus straks Apache i.c.m ISS en straks alles ISS. Vraag me niet waarom, het gaat gewoon zo, heb ik verder geen invloed op.

Acties:
  • 0 Henk 'm!

  • Wijnbo
  • Registratie: December 2002
  • Laatst online: 06-09 20:35

Wijnbo

Electronica werkt op rook.

Topicstarter
toaomatis schreef op donderdag 02 april 2009 @ 10:05:
[...]


Waarom spendeer je de tijd die je nu kwijt bent aan het schrijven om van PHP naar ASP te gaan niet in het vermaken van de inlogpagina in ASP.
Omdat die inlogpagina een triljoen dingen in de php sessie zet die weer verderop gebruikt worden in andere pagina's. Ctrl+F *.php is 1285. Dus dan weet je ongeveer hoe complex alles met elkaar samenhangt :X. Daarom worden ook kleine gedeeltes overgezet naar ASP.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 10:43

Matis

Rubber Rocket

Wijnbo schreef op donderdag 02 april 2009 @ 10:26:
[...]
Omdat die inlogpagina een triljoen dingen in de php sessie zet die weer verderop gebruikt worden in andere pagina's. Ctrl+F *.php is 1285. Dus dan weet je ongeveer hoe complex alles met elkaar samenhangt :X. Daarom worden ook kleine gedeeltes overgezet naar ASP.
Lol, prima. Wist niet dat het zo complex was. Sommige mensen zeggen *complex* omdat ze er geen tijd aan willen spenderen, maar in jouw geval is het idd complex :P

CORBA zal ik niet aanraden want het is erg lastig om dat werkend te krijgen en zeker als je ook nog van webservice gaat switchen.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ik zou gewoon je Sessie serializeren naar een file/database/shared memmory ( Volgens mij kun je de serialisatie/deserialisatie in php gewoon vervangen voor je eigen logica, in Asp.net zet je sessionState mode gewoon op custom, en dan kan je dezelfde data serializen/deserializen ) dan kunnen zowel ASP.NET als PHP gebruik maken van dezelfde variabelen en hoef je verder niks aan je bestaande code te doen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Wijnbo
  • Registratie: December 2002
  • Laatst online: 06-09 20:35

Wijnbo

Electronica werkt op rook.

Topicstarter
Woy schreef op donderdag 02 april 2009 @ 10:32:
Ik zou gewoon je Sessie serializeren naar een file/database/shared memmory ( Volgens mij kun je de serialisatie/deserialisatie in php gewoon vervangen voor je eigen logica, in Asp.net zet je sessionState mode gewoon op custom, en dan kan je dezelfde data serializen/deserializen ) dan kunnen zowel ASP.NET als PHP gebruik maken van dezelfde variabelen en hoef je verder niks aan je bestaande code te doen.
Zoiets was ik dus ook naar op zoek. Enig idee hoe ik dit het best kan aanpakken, heb je voorbeelden?

Want nu ben ik bang als ik overal dubbele sessies ga zitten aanmaken (1 voor php, 1 voor ASP) dat ik in een web verstrikt raak van sessies en op welke honderden pagina's ze gewijzigd worden.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
[google=replace session management php]
en
[google=replace session management asp.net]

Daarmee zou je toch wel wat moeten kunnen vinden?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:01
Alles is nu in PHP. Je moet dus zorgen dat sessiegegevens die door PHP worden bijgehouden ook in je nieuwe applicatie beschikbaar komen. Je zou dus de PHP sessie handler kunnen vervangen door een zelf gemaakte die de sessies wegschrijft op een manier die ook door ASP.NET is te gebruiken, bv JSON , een .NET library die php-serialized data kan lezen of een eigen formaatje.

Als je dat voor me kaar hebt kun je in principe sessie data in beide omgevingen gebruiken. In de PHP manual staat bij session_save_handler() hoe je de standaard sessie afhandeling van PHP kan vervangen door een eigen.

Sessiedata in PHP is gekoppelt aan een client via een cookie. Je moet er dus ook voor zorgen dat je asp.net-deel bij elk request die cookie uitleest (sessie id) en de data uit de sessie opvraagt.
Pagina: 1