MVC ASP.NET 中的多个应用程序门户(从 ColdFusion 迁移)

本文关键字:ColdFusion 迁移 应用程序 NET ASP MVC | 更新日期: 2023-09-27 18:36:50

我们有一个内置于ColdFusion(基于Fusebox的定制设计)的现有门户,并希望迁移到 ASP.NET MVC。 此门户具有真正独立的应用程序的模块,可以根据需要添加和删除这些模块。 我们想开始使用 ASP.NET MVC 构建一个新门户,但由于以下问题,我不确定这将如何工作:

答:我们在当前 ColdFusion 门户的数据库中所做的一切都是通过 SQL 存储过程完成的(许多基于选择的过程返回多个结果集)。 我们的策略是在我们的应用程序中没有生成或临时的SQL(一切都通过存储过程完成),我们希望保持这种状态。 当我查看MVC时,该模型似乎试图将所有内容抽象出来。

B) 在我们当前的系统中,使用简单的 cfinclude 语句将模块包含在模块/应用程序文件夹中。 他们有自己的数据库(有时还有单独的SQL服务器);主门户核心通过同一服务器和数据库集运行。 这允许开发人员处理特定的模块/应用程序,而不会影响应用程序的任何其他部分(甚至无法访问它)。 如果我们有一个 MVC 门户,开发人员如何处理其中的各个模块?

C) 我们当前的门户使用单个登录,然后确定他们可以查看哪些模块/应用程序。 如果我们想继续沿着这条路走下去,这是否需要我们在Visual Studio中有一个包含门户主要部分和每个模块/应用程序的单个"项目"?

我将不胜感激任何关于如何开始的提示或提示,或者如果有人知道任何正在做类似事情的开源门户,我们可以从中获得一些想法作为我们门户的基础。

MVC ASP.NET 中的多个应用程序门户(从 ColdFusion 迁移)

Brad,

我曾经问过一位老人去乡间小路上某个地方的路。他挠了挠下巴片刻,然后郑重地回答:"你不能从这里到达那里。 恐怕你们可能在同一条船上。如果您希望与 MVC 紧密相调,具有代码分离的单个模块,并在没有抽象的情况下保留数据访问层的灵活性 - 您可能会拔掉头发。Fusebox,虽然陈旧且或多或少是"程序性的",尽管它似乎正在为您规定这些规则。Fusebox本身就是一种发展模式,你的习惯已经符合它。.NET MVC(或一般的 MVC)是一种完全不同的模式,因此需要您遵守不同的规则。

在上述项目中,我会特别说:

A) 没有理由你不能继续使用你存储的过程并且仍然保持 MVC - 它将需要比你想要的更多的自定义编程 - 但你的 DAO 层并不关心在另一边开发数据。它的工作是返回数据集和结果等。但它看起来不像 ORM 或其他任何东西 - 它需要对对象中的数据库进行自定义调用。

B)我认为这是不可行的。

C) 再次 - 我认为迁移到 MVC 会排除它作为一种选择,除非您想在文件级别专门启用开发访问 - 这对我来说听起来像是灾难的秘诀。

如果您在过渡期间需要帮助维护 CF FB 应用程序,或者是否需要帮助进行此迁移,请告诉我。我们的团队做了很多这样的工作。

马克