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

Reply via email to