hi all tech folks,
i found a strange behaviour in iis5 (w2000, com+): when calling an
infinitive loop method on an object instance from one page, the server
is not responding from other browsers to _anything_ (asp pages).
i tried to install the component with setting:
- iis5 high application isolation
- com+ server library application with vb apartment threaded component
i tried free threaded apartment component from c++ as well - the same
reult.
then, it went more generally: if page1.asp has got: <% do:loop %>, the
page2.asp never comes (in another browser, another pc just to be sure).
then, i made a getThreadID and saw, that the outOfProcess asp engine
process (isolated application, should be in own dllhost.exe, right?) is
serving probably ONLY ONE thread!! why?! i thought, it's because cpu
utilization, so i made a blocking component with infinitive loop and
sleep(10 ms) inside => it blocked the server's cpu almost nothing and
there was no new thread started, which would serve the new request for
new page.
also, i figured out, that the "medium isolation" is SOMETIMES working.
sometimes means, that if you:
- set "medium isolation" in iis5 and in com+ you register your
component, it works
- after that: set "high isolation" and leave the com+ component as it
was, it won't work
- after that: reset back to "medium isolation" and leave com+, it STILL
NOT works
- after that: reinstalling the com+ component and leave the iis "medium
isolation" - IT WORKS
remarks:
- before every test, the iis process was reset and com+ component shut
down
please, i'm out of ideas. i assume, it relates somehow with threading
optimalization or whatever. any idea?
thanx, andrej macko