tags:

views:

79

answers:

2

Hi,

I have to create a new ASP.NET 3.5 site (Not MVC!), and I am required to build a Plugin Architecture for the same.

I am thinking of using UserControls, but DLL of the UserControl must be placed in "bin" directory in order for it to work :(. I can't do that becauase I will have lots of Dlls and want to load the DLLs dynamically when needed for the UserControl.

Is there a way to achieve it ?

So my requirements :

  • Core will load Plugin UserControls depending on configuration
  • DLL should be loaded on demand rather then from bin directory

Please help!

+1  A: 

I suppose that in general Web Client Software factory will be able to solve your problems, however it will require some time to master. Please see these links in codeplex and MSDN to start with. What is you asking about "load on demand" is implemented as different Business modules in WCSF and you configure on web site what modules to load and what not. Business module is a combination of related Web pages, page flows, business logic, and services.

Bogdan_Ch
thanks :), let me look at it.
cbrcoder
Looks pretty complicated, any other suggestions for simpler execution ? WCSF, seems overkill for my situation, i will use it only as a last resort.
cbrcoder
really it may be a bit complicated but it addresses more complex issue of modular web site design. when you want to have pluggable modules you don't only want to include or exclude some custom controls. you need to include/exclude pages, include/exclude classes of DAL and business logic that are not required in this particular case and you need to rebuild sitemap and menu... and for some customers you would like to have some modifications in the Views and define what views you will use in web.config. that is why WCSF is complex :)
Bogdan_Ch
A: 

Can you do something with the ideas here - it's an old article but the basic approach would still allow you to develop shared controls & code that you reference from other apps.

http://support.microsoft.com/kb/324785

Chris W
If I understand the problem right, cbrcoder wants not to share controls between different projects, but to have one web project where controls are included only on demand during the deployment (so he wants to deploy the solution to different sites with different functionality)
Bogdan_Ch