Ik ben bezig een ISAPI dll te ontwikkelen, zodat ik files uit een database kan halen door middel van 'http://mijn.url.tld/Fetch.dll?naam.txt'.
Om dit voor elkaar te krijgen heb ik met visual studio .net een ATL server project aangemaakt en de volgende instellingen gekozen:
- Generate combined dll
- Geen stencil support
Visual studio gaat dan druk aan de slag en vertelt me dat ik in 'HTTP_CODE ValidateAndExchange()' mijn eigen code moet toevoegen.
De body van die functie heb ik als volgt ingevuld:
IIS is geconfigureerd om aanvragen naar '.dll' af te handelen via mijn 'Fetch.dll'. Als ik nu een IE opstart en de url 'http://mijn.url.tld/Fetch.dll?naam.txt' invoer krijg ik dan ook de tekst 'worked' te zien in mijn browser. Fantastisch!
Het probleem echter treedt op bij het afsluiten van IIS. Zodra ik via het services control panel IIS afsluit krijg ik de melding 'The service terminated unexpectedly' en in de event viewer wordt de tekst
The World Wide Web Publishing Service service terminated unexpectedly. It has done this 5 time(s). The following corrective action will be taken in 0 milliseconds: No action.
gelogd.
Kennelijk crashed IIS op een of andere manier tijdens of na het uitvoeren van mijn ISAPI dll, maar ik krijg geen enkele foutmelding of wat dan ook tussendoor. Telkens wanneer ik de pagina reload wordt het tellertje hoger, dus er kan ook staan 'has done this 42 times'.
Ik heb me rotgezocht op internet maar kan nergens een vergelijkbaar probleem vinden. Ben ik tegen een bug in 't ATL gebeuren of IIS angelopen of doe ik gewoon iets fout? Wie weet er meer?
Om dit voor elkaar te krijgen heb ik met visual studio .net een ATL server project aangemaakt en de volgende instellingen gekozen:
- Generate combined dll
- Geen stencil support
Visual studio gaat dan druk aan de slag en vertelt me dat ik in 'HTTP_CODE ValidateAndExchange()' mijn eigen code moet toevoegen.
De body van die functie heb ik als volgt ingevuld:
code:
1
2
| m_HttpResponse.SetContentType("text/html");
m_HttpResponse <<"Worked."; |
IIS is geconfigureerd om aanvragen naar '.dll' af te handelen via mijn 'Fetch.dll'. Als ik nu een IE opstart en de url 'http://mijn.url.tld/Fetch.dll?naam.txt' invoer krijg ik dan ook de tekst 'worked' te zien in mijn browser. Fantastisch!
Het probleem echter treedt op bij het afsluiten van IIS. Zodra ik via het services control panel IIS afsluit krijg ik de melding 'The service terminated unexpectedly' en in de event viewer wordt de tekst
The World Wide Web Publishing Service service terminated unexpectedly. It has done this 5 time(s). The following corrective action will be taken in 0 milliseconds: No action.
gelogd.
Kennelijk crashed IIS op een of andere manier tijdens of na het uitvoeren van mijn ISAPI dll, maar ik krijg geen enkele foutmelding of wat dan ook tussendoor. Telkens wanneer ik de pagina reload wordt het tellertje hoger, dus er kan ook staan 'has done this 42 times'.
Ik heb me rotgezocht op internet maar kan nergens een vergelijkbaar probleem vinden. Ben ik tegen een bug in 't ATL gebeuren of IIS angelopen of doe ik gewoon iets fout? Wie weet er meer?