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:
old faithful of putting all applications and Site master into one Solution / one web application
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 hav开发者_如何学运维e 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?
Creating a UserControl for each application and reference it in the main application
I asked two similar questions here:
Cross-Project Master Page
Best bet is separate projects under a single solution and use Nuget package to synch up the common artifacts, including master pages. Right now this is working fine on a 22 project solution I'm working on. You can also store the Nuget package itself in source control.
Update:
You could use an XML file for your menu and share it out with Nuget. Possibly add jQuery for a sliding effect, etc.
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.
精彩评论