> Hi,
>
[quoted text clipped - 16 lines]
> behind these modules -- we want any changes to the modules to be
> reflected instantly across the server.
Yes and no. From a global perspective, certainly, but remember that the
Global Assembly Cache is the solution for global assemblies. By copying, you
give the apps the ability to run on different versions of an assembly (until
you can get a specific application up to snuff on a particular assembly,
while other apps are already retooled).
> So then I looked into installing these modules as shared assemblies in
> the GAC. But that requires you run the gacutil to update the GAC
[quoted text clipped - 39 lines]
>
> Thanks!
First, most shops do not change code at a stellar pace, so it is not
normally a major problem. The most common scenario, to solve the issue you
talk about, is setting up a web farm. Bring down one machine, update, bring
it up and switch. User requests get trafficed to the new machine after
deploy. This also gives you a high availability solution.
If you want to have a more robust drag and drop, you can use Component
Services (ie, COM+). There are a couple of issues:
1. For the flexibility of being able to quickly dump new assemblies, you end
up with some performance loss
2. You are using interop
The problem you speak of will be conquered, in one way, in the 2.0
Framework. The new code directory allows you to dump new source files and
have them compile. The negative is you want assemblies common to all
applications, and I am not certain the code directory can be a common
location (Not quite true, I am sure there is some way around this, but I do
not believe it is default).
---
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
***************************
Think Outside the Box!
***************************
Thomas - 27 Jan 2005 16:25 GMT
> The problem you speak of will be conquered, in one way, in the 2.0
> Framework. The new code directory allows you to dump new source files and
> have them compile. The negative is you want assemblies common to all
> applications, and I am not certain the code directory can be a common
> location (Not quite true, I am sure there is some way around this, but I do
> not believe it is default).
Hi Cowboy,
Thanks for the reply. I am disappointed that .NET seems to encourage
code copying rather than code sharing in live environments. It sounds
like people are either using web farms, or they are just copying their
libraries to all their individual apps. Sounds like a nightmare to
maintain.
I guess what I don't understand is why IIS doesn't detect changes in
the GAC just as it detects changes in the private application
directories? If that was fixed, it would be simple for us to roll out
updated class libraries that our apps could pick up instantly.
In regards to .NET 2.0, I cannot find anything describing this new
feature you are describing ("code directory"), or how exactly it might
help me reuse my code across our website rather than copying it
everywhere. Can you point me to a page that discusses this new feature?
Thanks,
Thomas
Thomas - 27 Jan 2005 17:12 GMT
It seems as though one (hacky) solution is to kill aspnet_wp.exe after
uploading the latest DLLs into the GAC. Apparantly this is not as
destructive as restarting IIS. Are there downsides to doing this?