繁体   English   中英

多个asp.net Web应用程序的最佳实践

[英]Best Practice for multiple asp.net web applications

在一个ASP.NET“站点”或“解决方案”中拥有多个Web应用程序时,寻找最佳实践。 我有几个选择:

  1. 老忠实地将所有应用程序和Site master放入一个解决方案/一个Web应用程序中

  2. 我的老板担心在VS中有30个“应用程序”都在同一个项目中,每次我们对一个项目进行更改都需要部署到所有项目。 因此,这使我们希望在同一解决方案下将每个项目分解为单独的项目。 这使得我们必须研究Master页面解决方案

    • 母版页需要支持动态菜单结构。 这是我可以用一个SiteMaster做的事吗? VirtualProvider是否为此提供了正确的解决方案? 有人有任何好的教程吗?
  3. 为每个应用程序创建UserControl并在主应用程序中引用它

我在这里问了两个类似的问题:

跨项目母版页

最好的选择是单一解决方案下的单独项目,并使用Nuget包来同步常见工件,包括母版页。 现在,这正在我正在研究的22项目解决方案上运行良好。 您还可以将Nuget包本身存储在源代码管理中。

更新:

您可以将XML文件用于菜单并与Nuget共享。 可能会添加jQuery以获得滑动效果等。

1)因此,这使我们希望在同一解决方案下将每个项目分解为单独的项目。

(好主意)

母版页需要支持动态菜单结构。

作为旁注,你有没有听说过MEF
这非常适合您的情况。
使用它,您可以拥有一个完整的可扩展母版页解决方案,能够动态添加额外的菜单(以及每个菜单的功能)!
通过MEF技术,您可以在单一解决方案下拥有单独的项目。 每个(新的/更新的)项目都可以

  • 出版/再版。
  • 将它的内容文件与主要已发布的站点 (主项目)合并
  • 将生成的子项目的dll复制到bin文件夹中
  • 重启网站。

这里有一些关于它的论文: 微软参考Asp.Net的CodeProject基础知识
还有一个名为Portable Area的概念。 但我不知道它是如何工作的或它涵盖的确切场景,或者它是否适用于Asp.Net或仅适用于Asp.Mvc 如果有兴趣,试试吧。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM