Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Terminate a ISAPI (dll)

Posted on 2002-05-20
6
Medium Priority
?
551 Views
Last Modified: 2010-04-04
How do I Terminate a ISAPI (dll) when it is on the web?
0
Comment
Question by:delpro
6 Comments
 
LVL 8

Expert Comment

by:Cesario
ID: 7021572
Dear delpro,

In order to release the lock on a DLL, PWS must be manually stopped using the command prompt. By default, Pws.exe resides in the folder C:\Windows\System\Inetsrv.

To stop PWS, type the following command:

windows\system\inetsrv\pws.exe /stop

You can then restart PWS manually restarted from the Command Prompt by using the following command:

windows\system\inetsrv\pws.exe /start

Once PWS is stopped, this will release the ISAPI DLL. Recompile the DLL, if necessary. Once PWS restarts, it will again lock the DLL when it gets instantiated by your browser.

For IIS

At the run line, type: net stop iisadmin /y and then press Enter. This will stop all services while running the make on the DLL.

After recompiling your DLL, type: net start w3svc from the run line. Your services will be up again.

Best Regards

Cesario
0
 
LVL 14

Expert Comment

by:AvonWyss
ID: 7024685
Note that with IIS you can also choose to disable ISAPI caching, which will make the webserver unload the DLL after every request. This is great for development and testing.
0
 

Author Comment

by:delpro
ID: 7026308
Is there a way to do it in the program
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 14

Expert Comment

by:AvonWyss
ID: 7026329
There is no API for this, no. Would not really make sense anyways since ISAPI works with DLLs (librarys!) and only makes calls to the DLL when necessary; besides from this, the DLL does not "run" (unlike a normal application, or a CGI application).

The only dirty trick you could try is to somehow stop or kill the web server from within one of the entry-points of your DLL, but that's not a really good idea. Therefore, use one of the other suggested methods. For you, disabling the ISAPI DLL cache might be exactly what you want.
0
 

Accepted Solution

by:
RayNorrish earned 400 total points
ID: 7178288
Do you want to kill the isapi for the purposes of replacing/updating it?

If so, check out William Egge`s ISAPI Loader, which allows replacement of dll, even while it is in use!

http://www.eggcentric.com/

If it is not what you need, a polite email may persuade him to part with the code you need to unload your DLL programatically.
0
 

Author Comment

by:delpro
ID: 7182592
Wait for a long time for this.
Thanks
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Integration Management Part 2
Loops Section Overview

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question