构建MVC Web应用程序。将是一个由javascript(require.js,pager.js,jquery,knockout等)高度驱动的单页面应用程序。
此应用程序将拥有自己的内置页面,控制器等 - 并且还需要能够接受外部即插即用功能。
理想情况下,我可以将 .dll从另一个MVC Web应用程序中删除到主应用程序中,它不仅会继承应用程序的控制器,还会带来其Web文件(。 htm,* .ts,*。js,* .css等。
想象一下,每个已安装的dll都有一个带有磁贴的主页。引用新的dll会将应用程序的磁贴添加到主页 - 这是应用程序的入口点。
每个即插即用应用都需要遵循我们的路由设计(适用于MVC控制器和PagerJS)。
最后,每个应用都需要能够共享用户登录数据。
我知道我的问题有点宽泛,但我只是想得到一些想法,看看它带我去哪里。
答案 0 :(得分:0)
MvcContrib推出了 便携式区域 ,这是一组可重复使用的多页功能,可以放入应用程序中,无需自定义即可提供丰富的功能构建在每个应用程序中完全相同的功能。
这可以被视为插件或加载项类型的功能。这种方法的可移植部分是该区域可以作为单个程序集而不是程序集和许多其他文件分发,例如需要随时间管理和维护的视图或其他html资产。
通过将便携式区域完全自包含在一个组件中,这样可以更容易地重复使用并升级到该区域。做这样的事情的挑战是如何让应用程序对用户界面进行足够的控制,但仍允许将实际视图与逻辑打包在一起。
上面的描述是CodePlex中一个受欢迎的项目的一部分,它可以帮助您理解/使用可插入MVC应用程序概念背后的技术。
ASP.Net MVC Portable Areas via MvcContrib是Eric Hexter的一篇文章,详细描述了便携式区域。