Search code examples
.netasp.netmaster-pages

Best Practice for multiple asp.net web applications


Looking for the best practice when having multiple web applications within one ASP.NET "site" or "solution". I have a few options I am toying with:

  1. old faithful of putting all applications and Site master into one Solution / one web application

  2. My boss is worried about having 30 'applications' that are all under the same project in VS and every time we make a change to one have to deploy to all. So this makes us want to break out each into a separate project under the same solution. This makes us have to look into Master page solutions

    • Master page needs to support dynamic menu structure. Is this something that I can do with a single SiteMaster? Does VirtualProvider provide the right solution for this? Anyone have any good tutorials on it?
  3. Creating a UserControl for each application and reference it in the main application


Solution

  • 1) So this makes us want to break out each into a separate project under the same solution.

    (Good idea)

    Master page needs to support dynamic menu structure.

    As a side note, Have you ever heard of MEF?
    This is pretty suitable for your case.
    Using it, you can have a full extensible master page solution with ability to add extra menus (and functionality for each) on the fly!!!.
    By MEF technology you can have separate project under a single solution. Every (new/updated) project can be

    • Published / Republished.
    • have it's content files merged with the main already published site (master project)
    • Copy generated dll of the child project into bin folder
    • Restart the site.

    here are some paper about it: Microsoft reference, CodeProject basics for Asp.Net
    There is also a concept named Portable Area. But i don't know about how it works or what exact scenario it covers or even if it is applicable for Asp.Net or only for Asp.Mvc. just give it a try if interested.