[IIS7/CGI] pathinfo is anders

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
Ik had lokaal op mijn XP machine IIS 5.1 draaien met daarop lokaal een website die onder een zelfgemaakte .exe draait... op de server staat dezelfde .exe maar dan onder IIS6...
dit heeft geen problemen gegeven...

nu heb ik een nieuw werkstation met IIS7 daarop... ik wil weer een lokale versie van de website hebben, maar heb nu een probleem dat het niet meer werkt...

na debugging en doorspitten van de .exe kwam ik erachter dat het PATHINFO in IIS6 anders is dan in II7...
bij een URL die er zo uitziet: http://localhost/companyname/eendir/myownCGI.exe/login?parameters=true
IIS6 geeft als PATHINFO: /login
IIS7 geeft als PATHINFO: /companyname/eendir/myownCGI.exe/login

hoe kan dit? en vooral, hoe kan ik ervoor zorgen dat IIS7 net zoals IIS6 gewoon "/login" geeft?

ik heb de HandlerMappings en de ISAPI/CGI-restrictions volgens mij goed gezet (volgens de richtlijnen die ik na google-search heb gevonden), maar misschien dat daar nog een variatie in zit?

voor de duidelijkheid: de EXE wordt uitgevoerd (dat kan ik aan de error zien), maar de exe weet niet wat hij aanmoet met de PATHINFO die IIS7 aan hem voert....

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Ik denk dat het het snelste is om in die executable iets te bouwen dat omgaat met die nieuwe pathinfo.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
Grijze Vos schreef op woensdag 25 april 2012 @ 13:23:
Ik denk dat het het snelste is om in die executable iets te bouwen dat omgaat met die nieuwe pathinfo.
hm... maar dat gaat problemen geven... de executable lokaal moet namelijk wel hetzelfde zijn als die op de server... en de server heeft voorlopig nog wel IIS6....

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Daar hebben we configs/registersleutels/ini-files/whatevers voor uitgevonden. Of je probed even op welke IIS versie je draait. En anders doe je gewoon een split op myownCGI.exe en neem je 't laatste element uit 't resultaat. Ik zou denk ik gaan voor een config waarin je '/companyname/eendir/myownCGI.exe" zet en die compare je met de value uit pathinfo; is de indexOf == 0 dan kun je 'm eruit slopen.

Dit allemaal onder de aanname dat je niet je gewenste value uit een andere servervariabele kunt halen uiteraard.

[ Voor 51% gewijzigd door RobIII op 25-04-2012 13:39 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
RobIII schreef op woensdag 25 april 2012 @ 13:36:
Daar hebben we configs/registersleutels/ini-files/whatevers voor uitgevonden. Of je probed even op welke IIS versie je draait.
ik heb gegoogled, maar kom er niet uit wat Proben nou precies is... en al hemelaal niet op IIS7 :)
ik vermoed dat het iets is van de IIS versie simuleren....
En anders doe je gewoon een split op myownCGI.exe en neem je 't laatste element uit 't resultaat. Ik zou denk ik gaan voor een config waarin je '/companyname/eendir/myownCGI.exe" zet en die compare je met de value uit pathinfo; is de indexOf == 0 dan kun je 'm eruit slopen.

Dit allemaal onder de aanname dat je niet je gewenste value uit een andere servervariabele kunt halen uiteraard.
het probleem is als volgt:
de executable is geprogrammeerd in Borland C6-Builder. Daarin zit een functionaliteit waarmee je WebActions kunt aangeven... deze webactions geef je aan in het form-object:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
....

 Actions = <
    item
      Default = True
      Name = 'Default'
      PathInfo = '/Default'
      OnAction = WebDefaultAction
    end
    item
      Name = 'Login'
      PathInfo = '/Login'
      OnAction = WebLoginAction
    end
    item
      Name = 'Logout'
      PathInfo = '/Logout'
      OnAction = WebLogoutAction
    end
    item
      Name = 'Query'
      PathInfo = '/Query'
      OnAction = WebQueryAction
    end>

...

zoals je ziet worden de actions bepaald aan de hand van PathInfo...

ik heb nu het blok gekopieerd een mijn "nieuwe" pathinfo toegevoegd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
....

 Actions = <
    item
      Default = True
      Name = 'Default'
      PathInfo = '/Default'
      OnAction = WebDefaultAction
    end
    item
      Name = 'Login'
      PathInfo = '/Login'
      OnAction = WebLoginAction
    end
    item
      Name = 'Logout'
      PathInfo = '/Logout'
      OnAction = WebLogoutAction
    end
    item
      Name = 'Query'
      PathInfo = '/Query'
      OnAction = WebQueryAction
    end
    item
      Name = 'Default'
      PathInfo = '/MyOwnPath/Default'
      OnAction = WebDefaultAction
    end
    item
      Name = 'Login'
      PathInfo = '/MyOwnPath/Login'
      OnAction = WebLoginAction
    end
    item
      Name = 'Logout'
      PathInfo = '/MyOwnPath/Logout'
      OnAction = WebLogoutAction
    end
    item
      Name = 'Query'
      PathInfo = '/MyOwnPath/Query'
      OnAction = WebQueryAction
    end>

...


Dit is nu een oplossing... maar vind het niet echt een structure oplossing... I heb ook geen idee hoe ik de PathInfo hierboven variabel kan maken...

iig heb ik het probleem nu opgelost... thanks voor de hulp...
mocht iemand nog een ECHTE oplossing hebben, dan hou ik me aanbevolen :)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
P.O. Box schreef op woensdag 25 april 2012 @ 16:02:
[...]


ik heb gegoogled, maar kom er niet uit wat Proben nou precies is...
Uitlezen/opvragen... Was dat niet duidelijk uit de context?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • DigiK-oz
  • Registratie: December 2001
  • Laatst online: 16-09 19:45
Misschien hier iets mee te maken?
PATH_INFO


Path information, as given by the client, for example, "/vdir/myisapi.dll/zip". If this information comes from a URL, it is decoded by the server before it is passed to the CGI script or ISAPI filter.

If the AllowPathInfoForScriptMappings metabase property is set to true (to support exclusive CGI functionality), PATH_INFO will only contain "/zip" and ISAPI applications such as ASP will break.

Whatever


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
DigiK-oz schreef op woensdag 25 april 2012 @ 16:15:
Misschien hier iets mee te maken?


[...]
YES! dat was het inderdaad....

het was ff zoeken in welk bestand ik de allowPathInfo variabele moest zetten, maar dat was:
C:\Windows\System32\InetSrv\Config\applicationhost.config

Thanks !!!
Pagina: 1