Chris, are you setting the FakeAsync flag, and if you do, does this solve it
or change the behavior?
http://httpd.apache.org/docs/trunk/mod/mod_isapi.html#isapifakeasync
Note several MS examples abuse the CID (connection context) and don't set
it, and apparently MS no longer inspects it. But we do, and violating it
will lead to death of the app.
Bill
Christopher O'Neill wrote:
/This email was originally sent to William A. Rowe, he suggested that I
resend it to this list:/
Hi Bill,
I'm currently in the process of ensuring a web app that I have developed
for IIS works correctly with Apache's mod_isapi. After stumbling upon
an error which caused a 500 status code to be returned on every (valid)
request, I managed to find your updated module and installed it -
eliminating this problem.
However, I have noticed a different problem: Every so often a corrupt
page will be generated (this seems to occur at random intervals - with
about10% probability I would guess). For instance, using the HelloISAPI
example file from Microsoft's platform SDK (binary & source attached):
Expected output:
<html>
<head>
<title> HelloIsapi Sample Extension </title>
</head>
<h1> Hello ISAPI! </h1>
<hr>
This is a very simple ISAPI extension.
Unexpected output:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>200 OK</title>
</head><body>
<h1>OK</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
[EMAIL PROTECTED] and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>
HTTP/1.1 200 OK
Date: Tue, 18 Jul 2006 22:39:08 GMT
Server: Apache/2.2.2 (Win32)
Content-Length: 140
Keep-Alive: timeout=5, max=91
Connection: Keep-Alive
Content-Type: text/html
<html>
<head>
<title> HelloIsapi Sample Extension </title>
</head>
<h1> Hello ISAPI! </h1>
<hr>
This is a very simple ISAPI extension.<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
2.0//EN">
<html><head>
<title>200 OK</title>
</head><body>
<h1>OK</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
[EMAIL PROTECTED] and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>
As you can see, the real output seems to be wrapped inside an error
response. The next refresh after this error is also a lot slower than
normal (perhaps the .dll is being reloaded?). This was tested by
hitting reload at a rate of about 1 per second until the error page was
displayed.
I didn't notice this bug with the original version of mod_isapi,
unfortunately I overwrote the original with your updated version so am
unable to test.
Anyway, I hope this is useful..
- Chris