Best Practice for multiple asp.net web applications

我们两清 提交于 2019-12-22 11:11:28

问题


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


回答1:


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.




回答2:


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.



来源:https://stackoverflow.com/questions/7101601/best-practice-for-multiple-asp-net-web-applications

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!