How do you build ASP.NET website using modules?

Hi all,

I have a Visual Studio 2008 solution that looks like this:

BLL (C# Class Library)
DAL (C# Class Library)

What I want to be able to do is create modules that each of the websites can utilise. One of the modules I would like to create is a simple messaging module that can be used in each site that allows its users to send email like messages to people in their address book. I have looked into using the Microsoft Web Client Software Factory (WCSF) but this does not satisfy my needs. I also thought maybe of an ASP.NET Server Control but I dont think that is the way forward. Maybe I am using the incorrect architecture for the project?

Any suggestions from you experts out there?

Many thanks

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Bob LearnedCommented:
Create class library projects for the data access and business logic layers, and then reference those DLLs in the web site projects.

Yeah just upload them to a directory called bin that is located in your root and you will be able to reference them from your code.
CraglyAuthor Commented:
Thanks for your reply guys.

I understand what you are saying and that is how I would normaly build my apps but thsi time I want to build a complete module just as you would build an user control and reuse it across my web apps. So for instance if I created a control libary called Messaging I want to create a module that I can drop into each site. I was just not sure that a control libary was the best way to go for this.
Well if you use other module based applications as examples, it is done in the manner in which we described. An alternative is using a directory called app_code in the root which is code that gets compiled when a page is called, the limitations are that all the code files must be the same language you reference it the same way. So if it is code that you are planning on changing often you will probably find it easier to do it this way instead of precompiling dll. Here is a more detailed explanation of the differences from msdn:

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
CraglyAuthor Commented:
Thanks for the help but have decided to go with a completely different archetecture but there is nothing wrong with the solution you provided so have awarded the points. Many thanks for your help.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.