0

构建 MVC Web 应用程序。将是一个由 javascript(require.js、pager.js、jquery、knockout 等)高度驱动的单页应用程序。

该应用程序将有自己的内置页面、控制器等 - 并且还需要能够接受外部即插即用功能。

理想情况下,我可以将另一个 MVC web 应用程序中的 .dll 拖放到主应用程序中,它不仅会继承拖放的应用程序控制器,还会引入其 web 文件( .htm、*.ts、*.js、 *.css 等)。

想象一下,每个已安装的 dll 都有一个带有磁贴的主页。引用新的 dll 会将应用程序的磁贴添加到主页 - 这是应用程序的入口点。

每个即插即用应用程序都需要遵守我们的路由设计(对于 MVC 控制器和 PagerJS)。

最后,每个应用程序都需要能够共享用户登录数据。


我知道我的问题有点宽泛,但我只是想得到一些想法,看看它会把我带到哪里。

4

1 回答 1

0

MvcContrib引入了Portable Area,它是一组可重用的多页功能,可以放入应用程序中以提供丰富的功能,而无需自定义构建每个应用程序中几乎相同的功能。

这可以被认为是一种插件或插件类型的功能。这种方法的可移植部分是该区域可以作为单个程序集而不是一个程序集和许多其他文件(如视图或其他需要随时间管理和维护的 html 资产)分发。

通过使便携式区域完全独立地包含在单个组件中,这应该可以更容易地重复使用和升级到该区域。做这样的事情的挑战是你如何允许应用程序对用户界面进行足够的控制,同时仍然允许实际的视图与逻辑一起打包。

上面的描述是 CodePlex 中一个流行项目的一部分,它可以帮助您理解/使用 Plug-able MVC 应用程序概念背后的技术。

ASP.Net MVC Portable Areas via MvcContrib是 Eric Hexter 的一篇文章,详细描述了 Portable Area。

于 2013-11-25T20:57:37.517 回答