Re: Anything Wrong With "preloading" Assemblies?
- From: "Alvin Bruney [ASP.NET MVP]" <www.lulu.com/owc>
- Date: Sun, 20 Apr 2008 18:03:06 -0400
I'm not all warm and fuzzy about this approach to tell you frankly. I think your working set will grow large which will result in page faults and performance issues. You can't really unload an assembly so it sits around hogging memory and resources. Anyway you go with modern code would isolate the logic so your benefit in item 1 is not a distinct advantage.
I'd suggest a redesign to work around the working set issue. Use inheritance and a class hierarchy to 'point' to the functionality. When it is required, you would load it inside an app domain. app domains can be unloaded and are a lot lighter than assemblies so essentially, you would have one assembly that knows where the functionality of each plug in is.
--
Regards,
Alvin Bruney [MVP ASP.NET]
[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99
-------------------------------------------------------
"Robert Cramer" <A@xxxxx> wrote in message news:OYFnPCsoIHA.4912@xxxxxxxxxxxxxxxxxxxxxxx
I am needing to create a sort of "plug-in architecture" whereby different Web sites I maintain on the same server have slightly different functionality. Some Web sites will need to use the functionality in some assemblies, while others will get similar functionalilty from different assemblies..
What I was thinking about doing - and I'd apprecaite your feedback on this - is to load the assemblies required by a particular site into the site's default application domain, and do this loading during Application_Start. I would load the assemblies via Reflection (e.g., Assembly.Load()).
Two benefits of doing it this way:
1. I can have all the logic in one place... this is the logic that determines which assemblies to load for the current site.
2. A minor benefit is that when members from a given assembly are eventually required, the assembly is already loaded, thereby helping with runtime performance.
Are there any significant downsides to doing it this way, or reasons I should not preload these assemblies? Any "gotchas" I should account for?
Thanks!
- References:
- Anything Wrong With "preloading" Assemblies?
- From: Robert Cramer
- Anything Wrong With "preloading" Assemblies?
- Prev by Date: Re: FileUpload clears on Insert
- Next by Date: ASP.net (vb.net) session query - preventing a user from accessing a page while another user is viewing that page
- Previous by thread: Re: Anything Wrong With "preloading" Assemblies?
- Next by thread: RE: Anything Wrong With "preloading" Assemblies?
- Index(es):
Relevant Pages
|