关于简化多个.Net应用程序的想法

时间:2010-04-28 23:16:33

标签: asp.net visual-studio architecture content-management-system

我们有一系列ASP.Net应用程序,这些应用程序已经编写了8年。大多数在前3 - 4年。它们运行良好,几乎没有维护,但是正在请求新的功能,我们遇到了IDE和平台问题。这些应用程序是用.Net 1.x和2.x编写的,并且在不同的空间中运行,但是作为一组应用程序呈现,这些应用程序使用通用导航工具栏(作为用户控件实现)。每当我们想要在导航菜单中添加内容时,我们必须在所有应用程序中修改它,这很痛苦。此外,Crystal报告的各种版本以及我们使用表格来组织可视元素,最终导致混乱,尤其是所有运行的多平台.Net版本。我们需要简化应用程序套件,并且无需麻烦就可以更轻松地添加新应用程序。我们还需要将所有这些应用程序放在一个.Net平台和IDE下。

此外,还有一个WordPress博客,其风格与“集成”到UI中的应用程序套件的风格相匹配,也是一个指向MediaWiki Wiki应用程序的链接。

我目前的想法是使用像Joomla这样的开源内容管理系统(CMS)(不幸的是PHP,但效果很好)作为样式模板和菜单管理的用户界面框架。 Joomla的文章管理将允许我们将Wiki内容迁移到可以在不干扰.Net应用程序的情况下发布的文章中。然后基本上在“文章”中使用IFrame来“托管”.Net应用程序,然后......

将.Net应用程序升级到VS2010,删除所有常用页眉/页脚控件并迁移样式以使用CMS中使用的样式表。

在我写这篇文章时,我当然意识到这是一项很多工作,并且存在优化问题,这可能会导致使用IFrame似乎有点像作弊,而且我已经阅读了有关IFrames的问题。

我知道我们可以使用.Net应用程序样式,但似乎需要做更多工作(确实不太确定)。此外,使用CMS来处理博客和维基也似乎很有吸引力,除非有一个可以处理所有这些要求的.Net CMS。

鉴于这些信息,我想知道我是否完全朝着错误的方向前进?我们尝试使用开源并随着时间的推移进行集成,但这并不难以维护。我不知道有哪些技术可以满足我们的要求吗?我们做得对吗?我们应该专注于简化.Net吗?我明白无论我们做什么,都会有很多工作要做。社区的丰富经验会有所帮助。谢谢!

PS - 完全重写不是一种选择。

2 个答案:

答案 0 :(得分:1)

嗯,我们正在进行一项听起来很熟悉的项目。我们正在使用www.sitecore.net CMS,但您可以再次使用开源备用Umbraco这两个都有学习曲线,但它们是.Net应用程序,并不是专门针对博客。如果你愿意,SiteCore最终可以使用普通的.Net用户控件,虽然它与他们的模型略有不同,但是它可以工作。

我要警告你的一件事是SiteCore必须是你网站的根,它必须控制域的根(它有一个需要在根目录的urlrewriting模块)你可以告诉它排除应用程序可能存在的某些文件夹。显然,您可以将导航放在站点根目录下的文件夹中。另请注意SiteCore是在2.0运行时下运行的.Net 3.5应用程序。

你的子应用程序..虚拟目录中的实际单独应用程序还是我猜的东西?

答案 1 :(得分:0)

根据.Net应用的性质,您可能会发现DotNetNuke是一个有用的选择。

这是一个CMS,您可以在.Net中编写小部件('模块'),然后将它们添加到CMS的页面中。在您的情况下,您将现有功能包装在这些小部件中。我已经完成了好几次,现在我已经习惯了,这没什么大不了的。

缺点是你必须学会​​在DNN环境中游泳,这与任何CMS都有一点学习曲线。

我必须更多地了解您现有的应用程序,以确保这是一个合理的选择。如果它看起来很吸引人,你应该联系那些处理过像你这样的情况的人(比如我自己)并详细说明。 非常很容易发现自己处于这些CMS框架的死胡同。

编辑:就像在不同答案中提到的产品一样,DNN必须控制其子域的顶级 - 所有请求都通过经过Default.aspx开始,然后以各种方式调度。