开发者

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 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?
  3. 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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜