ASp.NET caches assemblies in the GAC

  • Thread starter enrico sabbadin
  • Start date
E

enrico sabbadin

Hi,
I noticed that ASP.NET caches .NET assemblies installed in the GAC ..
calling HttpRuntime.UnloadAppDomain() unfortunately doesn't seem to help ,
likely because the ASP.NET appdomomains are
loaded using the MultiDomainHost model which shares the assemblies in the
GAC..

only restaring the whole web service (using the IISRESET command line tool)
seems to help ..

any other softer solution than an IIS reset ?


thanks in advance


--
(e-mail address removed)
MTS - COM+ - VBCOM - Enterprise Services - Security FAQ
..NET & COM+ books selected list
http://www.sabbasoft.com
"Moving fast is not the same as going somewhere."
 
J

Janaka

You'll probably find that by resetting or re-installing the dlls in the GAC
also does the same trick as doing an IIS reset - but you probably don't want
to do this either :) I could be wrong here but I'm not aware of any .NET
object that's capable of updating the GAC programmatically.
That would make sense though since the assemblies in the GAC are shared
between resources (not just ASP.NET) and the objects stored in the GAC would
get locked by processes using it.

If your ASP.NET applications need to use a separate assembly that needs to
be updated often, place this in the /bin directory of the application
instead. Although its convenient and more manageable to have 1 dll stored
in the GAC I've found it still falls foul of the old ASP problem of having
to do an entire restart to unlock the dll the administer changes.

J
 
E

enrico sabbadin

thank Janaka for your reply,

no re-installing the dlls in the GAC does not work, (i do it automatically
in each rebuild using a macro),
they are not locked and the GAC is actually updated, however the w3 working
process (i'm running on 2003) keeps on using the old ones.

best regards
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top