Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

PROB: IIS keeping my .DLL files open and caching them

Status
Not open for further replies.

thesleepylizard

Programmer
Mar 18, 2002
41
AU
I am writing some DLL files to place on my website. They
are written in VB6 using the "IIS applicaton" template. It
compiles beautifully and it works really well.

But, IIS is caching the .DLL files that are created, and,
when I sihp another copy, it's not letting me compile it
over the top of the existing file!

I would like to somehow disable IIS keeping the file open
and/or disable the caching for the particular folder that
contains the .DLL files.

How do I do this? How can I stop IIS from keeping the file
open and how can I tell it to stop caching the files?
Obviously without doing this, development will be
extremely slow!

Thanks for your time,
-Philip
 
In case anyone else needs to know, I hvae figured out the answer.

The folder containing the DLL file must be set up as a ISAPI application. You can set this up by going to the properties of the folder and clicking on the "Create" button next to application settings.

Now, under application setings there's an option to run in seperate memory space. This needs to be ticked.

And, under the "Configure" button you need to untick "Cache ISAPI files" (somehing llke that)

When you need to recompile the DLL file and ti says "permission denied", all you need to do is go to the properties of the ISAPI applicaion and click the "Unload" button and then compile your DLL, and it should work OK.

FYI there's an annoying bug I found. If your DLL file causes an error and you don't handle it, it basically freezes IIS up completely. You need to reboot the server to get it running again!

-Sleepy
 
If you are on Windows 2000 Server you can run the
"c:\winnt\system32\IISRESET.exe /restart" to restart IIS and COM+ despite the fact that it is locked up. Works great!
 
IIS can use every ISAPI application in different manner.
The isolation level of the ISAPI application can be:

Low - IIS and ISAPI are on the same thread. DLL cannot be unloaded. DLL can crash IIS.

Medium - DLL are pooled in groups. A group of DLL can be unloaded. DLL can crash all DLLs in the group.

High - DLL is completely isolated. It can be unloaded. DLL cannot crash IIS.

Usually the Microsoft Script debugger is meant to work with Low isolation.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top