Før jeg begynner vil jeg påpeke at dette ikke er et produkt gjennomgang. Jeg har funnet en utmerket måte å feilsøke ISAPI DLL-filer, og det skjer for å kreve en svært billig verktøy. Jeg ville bare dele denne informasjonen som det har vært så nyttig!
jeg har skrevet noen webtjenester nylig som bruker Delphi 7 og IIS 5 og det har vært en reell smerte å feilsøke dem.
Jeg pleide å ha en referanse til en virkelig god artikkel som forklarer hvordan du setter opp IIS som en prosess i stedet for en tjeneste og deretter bruke Inetinfo.exe som vert app for DLL, men jeg kunne ikke lenger finne den. Jeg prøvde diverse andre artikler /verktøy osv, men var ikke fornøyd med noen av dem. De fleste artikler fungerte (takk og lov for XP Systemgjenoppretting) og de fleste verktøy er målrettet på nettsider så returnerte text /html i stedet for tekst /xml, som forvirret min webtjeneste går
klient. Jeg kom over en ISAPI debugger HER. Jeg har bare brukt det i 10 minutter så langt, og jeg må si det er utmerket! Jeg trengte ikke å endre registeret i det hele tatt, og de ber om fortsatt gå gjennom IIS. Her er hvordan det fungerer. Setup
Server
Jeg opprettet en virtuell mappe som heter "Debug" med manus tilgang.
Det er det for serveren!
Client oppsett
Åpne min ISAPI prosjektet i min IDE (Delphi i dette tilfellet). Anmeldelser
Angi vertsprogrammet som ClientISAPI.exe, en annen fil som følger med verktøyet.
Sett kjøre parametere av prosjektet mitt til hele banen + filnavnet til min ISAPI DLL.
Igjen, det er det!
Debugging ISAPI
Jeg driver mitt ISAPI prosjektet, går ClientISAPI.exe.
ClientISAPI.exe laster min DLL (som er grunnen til at runtime parameter er . nødvendig)
Min webtjeneste testapplikasjon kaller deretter følgende url http: //localhost/debug/isapifwd.dll/wsdl/IMyWebService
ISAPIfwd.dll mottar forespørselen, passerer den. til ClientISAPI.exe.
ClientISAPI.exe deretter kjører nødvendige koden i min ISAPI DLL, noe som betyr at jeg kan gå gjennom koden.
ClientISAPI returnerer Response til ISAPIfwd.dll, som i turn reagerer på Clie
nt
Det jeg virkelig liker med denne tilnærmingen er:..
Ingen register modifikasjoner kreves
Du kan eksternt feilsøke på selve IIS distribusjonsserver.
Det er ikke vektet mot nettsider, noe som går gjennom IIS + ISAPI kan feilsøkes.
er ditt ISAPI ikke lagret, slik at ingen trenger å holde på å starte /stoppe IIS.
Debugging IIS ISAPI modules
Previous:Kjøre en lagret prosedyre fra VB.NET