[Mono-dev] Questions about mod-mono-server process/AppDomain loading/unloading

Christopher Bergström cbergstrom at netsyncro.com
Sun Nov 13 16:50:35 EST 2005

Joshua Tauberer wrote:

> Christopher Bergström wrote:
>> Here's what I outline and I think would be great.. (Feedback welcomed)
>> A) Either updates to bin/*.dll or web.config not requiring a restart of
>> Mono process
> Figuring out when the files change is not a problem, but...

Yeah.. I realized this, and was a drastic over simplification, but
didn't want to write a book...

>> B) Some way to restart each site and not have it effect the other sites
> Besides restarting a mod-mono-server process, as I said, there's no
> way to restart individual applications.  This has to do with
> complicated AppDomain unloading issues.

Is there any current way to put each site on it's own process? ( I think
this might be key to a temp solution if it's _easy_)

> I don't think that's possible, not for caching in general.  Cached
> objects in memory can't stick around if the whole application is being
> restarted.

No no.. I was talking about some layer of separation between sites and
assuming each site was somehow on it's own process.

Site A is restarting (and all cached object go to garbage/recovered)
Site B is using tons of caching.. (Any way to protect all it's cached
objects from A's restart)

In general I think if there is a way to run each site on it's own
process, keep the performance impact of a restart to a minimum between
sites and a minor control panel addition.. (We could maybe* start to
look at mass virtual mono hosting)

Which files do the heavy lifting for loading/unloading of AppDomain(s). 
I'm going to guess this isn't documented so I'm curious to look at the
source and how loading/unloading is currently done.  Does MS document
how they do it anywhere and do we currently follow suite currently?

Thanks for the ideas


More information about the Mono-devel-list mailing list