Hi Jim
Based on my experience, the GAC is an file directory on the disk. That is
to say the component in the GAC is an Dll file, when the problem start, it
will be loaded into the memory, the change to the GAC file will not affect
the running problem.
To achieve your goal, you may try to use the AppDomain.
I assume you are using ASP.NET to develop your website.
When the ASP.NET application began, it is in the default AppDomain, but you
can create another AppDomain to load the Assembly, i.e. the dll, then
unload the AppDomain when you want to unload the Assembly.
[NOTE]
Unload Performs a graceful shutdown of the domain. The application domain
is not unloaded until all threads running in the domain have either stopped
or are no longer in the domain.
That is to say you may need to dynamic Create a new AppDomain to load the
assembly[dll] and unload the AppDomain, every time you want to update the
component.
But it is very complex to call the method in the new created AppDomain,
since in .NET framework the relationship between AppDomains is similar with
it between Process.
And this solution may cause performance hit and security issue.
Can you tell me why you need to update an dll in runtime, as far as I know,
the commercial website will not update their website very frequently?
Maybe there is a better solution for you.
Regards,
Peter Huang
Microsoft Online Partner Support
Get Secure!
www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.