Toon posts:

Vanuit ASP een remote COM object aanroepen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een aantal problemen (uitdagingen). Ik draai een NT server met daarop IIS 4. Nou wil ik vanuit ASP een COM object benaderen die op een andere server staat (ook NT). Een createobject() naar een andere pc dus.

Tweede punt is dat dat COM object een aantal acties uitvoert, die wel een tijdje kunnen duren. Kortom, ik wil dit eigenlijk out of proces doen. Moet dus via ASP dit object een schop geven dat ie moet beginnen. Het ASP script gaat vervolgens door (ipv dat het wacht totdat de method van het COM object klaar is). Of moet ik dit oplossen door de method van het COM object een andere Thread te laten starten met de daadwerkelijke routine?

Iemand wat opties?
Het COM object is in MFC (Visual C++)

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Dit gaat vrees ik niet werken, anders zou niemand meer com objecten hoeven te kopen/installeren want dan kan je ze gewoon sharen :)

Je kan natuurlijk wel een interface maken en deze aanroepen van de andere server, kan bijvoorbeeld via soap.

  • Arjan A
  • Registratie: November 2000
  • Laatst online: 22:12

Arjan A

Cenosillicafoob

Enige manier om andere com-objecten aan te roepen is mi om er een MSI-tje van te maken, en die op de ASP-machine te installeren.

In feite roep je ze dus nog altijd lokaal aan.

Canon EOS | DJI M2P
Fotoblog · Mijn werk aan jouw muur


  • MrBrown
  • Registratie: Augustus 2000
  • Laatst online: 11-06 15:51

MrBrown

Reservoir Dog

Als op de server waar het object op staat ook IIS draait, en jij hebt er beheer over, zou je misschien eens kunnen kijken of je iets met SOAP kan gaan vogelen...

Powered by Manetti (compiled by Jura)


Verwijderd

Met
Set obj = CreateObject("componentnaam","servernaam")

kan je een component op een andere server aanmaken met VB via DCOM.

Of dat uit ASP ook kan weet ik niet, heeft het IUSR_xx account waarschijnlijk niet gegnoeg rechten voor maar daar is wel wat aan te doen.
Je zou altijd een proxyobjectje kunnen maken dat je in MTS hangt en dat die call voor je kan maken. Dan kan je dat MTS package ook de rechten geven en hoef je dat niet op de IIS anon user te doen.

Verwijderd

Topicstarter
Iemand nog een idee voor het 2de punt?
Het out of process draaien van de DLL?

Verwijderd

Op vrijdag 23 november 2001 09:50 schreef TheMask het volgende:
Iemand nog een idee voor het 2de punt?
Het out of process draaien van de DLL?
Ja met C++ moet dat kunnen toch?

Ik doe het met VB altijd via een Queued component.

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 11-09 09:22
Op donderdag 22 november 2001 13:39 schreef TheMask het volgende:
Ik heb een aantal problemen (uitdagingen). Ik draai een NT server met daarop IIS 4. Nou wil ik vanuit ASP een COM object benaderen die op een andere server staat (ook NT). Een createobject() naar een andere pc dus.

Tweede punt is dat dat COM object een aantal acties uitvoert, die wel een tijdje kunnen duren. Kortom, ik wil dit eigenlijk out of proces doen. Moet dus via ASP dit object een schop geven dat ie moet beginnen. Het ASP script gaat vervolgens door (ipv dat het wacht totdat de method van het COM object klaar is). Of moet ik dit oplossen door de method van het COM object een andere Thread te laten starten met de daadwerkelijke routine?

Iemand wat opties?
Het COM object is in MFC (Visual C++)
GAAT NIET, het enige wat je zou kunnen doen is de COM code als service laten draaien waardoor deze benaderd kunnen worden via een http adres. Middels een Message service zou je verschillende programma's parralel laten lopen...mbv monitoren in C++ kun je een heel eind komen. Het probleem zal zijn om de timeout van de webserver te omzeilen... ASP script "wacht" namelijk niet zo erg lang voordat een response van de server komt.


Zoiets maak je trouwens in Java middels Middleware (CORBA bv)

Verwijderd

Topicstarter
Heb inmiddels mijn MFC COM object gemaakt, aangemeld in MTS maar ik kan hem wel aanroepen en runnen, krijg alleen een out of memory error.

Iemand enig idee hoe dit kan en wat ik er aan kan doen? Mag zo'n component maar een bep. hoeveelheid memory gebruiken?
Pagina: 1