Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC中类似Wordpress的插件模型_Asp.net Mvc_Plugins_.net 4.0_Mef_Modularity - Fatal编程技术网

Asp.net mvc ASP.NET MVC中类似Wordpress的插件模型

Asp.net mvc ASP.NET MVC中类似Wordpress的插件模型,asp.net-mvc,plugins,.net-4.0,mef,modularity,Asp.net Mvc,Plugins,.net 4.0,Mef,Modularity,这是一种基于 我目前正在考虑从头开始重建我们公司的内部网(老实说,我们现有的内部网完全是一团糟),但我希望新内部网的核心“功能”之一是构建整个应用程序的能力(可能10次中有9次是MVC,另一次是标准webforms)作为向核心提供附加功能的模块或在核心内创建新应用程序的模块(例如,Joomla是如何做到的),该模块只需插入核心应用程序,即在完成后将其放入目录,并在某个时候能够从管理界面启用和禁用它们 我正在研究MEF,并试图让我的头脑在此刻围绕它,虽然我也在研究MvcContrib便携区,并想知

这是一种基于

我目前正在考虑从头开始重建我们公司的内部网(老实说,我们现有的内部网完全是一团糟),但我希望新内部网的核心“功能”之一是构建整个应用程序的能力(可能10次中有9次是MVC,另一次是标准webforms)作为向核心提供附加功能的模块或在核心内创建新应用程序的模块(例如,Joomla是如何做到的),该模块只需插入核心应用程序,即在完成后将其放入目录,并在某个时候能够从管理界面启用和禁用它们

我正在研究MEF,并试图让我的头脑在此刻围绕它,虽然我也在研究MvcContrib便携区,并想知道这是否是一个可行的替代我正在尝试做的事情

我只是想知道这是否是让我达到我想要达到的目标的最佳选择,还是我打算使用MEF作为元素来提供这个函数完全错误


我甚至可以做我在MVC中尝试做的事情吗?

我个人的偏好是便携式区域,但也可以看看Codeplex中的Orchard项目。他们有一个非常有效的插件机制,尽管有点复杂。。这完全取决于插件作者对核心应用程序的“了解”程度。

好吧,因为我们也将自己编写插件,我们应该了解整个系统……至少我希望我们会:)但是,对于我们来说,只需构建一个应用程序,将其放入一个目录(例如)的好处是,当我们聘用新的开发人员时,我们可以让他们直接构建新的应用程序,而不必让他们在最初几天内按照惯例经历一个漫长的内部网构建过程等,你知道这会如何影响路线吗?例如,我想为它构建一个IT帮助台模块,并且我假设创建票证的路线是
http://intranet/IT/Helpdesk/Tickets/Create
或类似内容。如果它是一个模块,它会导致该路由出现任何问题吗?便携式区域和Orchard解决方案都有从“插入”模块注册路由的机制。因此,假设路由遵循一些基本规则,那么就可以了。如果您熟悉使用MVC区域构建解决方案,那么将其设置为“可移植”是非常简单的。我可能有点笨,但本文指出,要将我的可移植区域添加到应用程序中,我需要添加对父应用程序的引用,我试图避免这样做,这样父应用程序就不需要重新部署。虽然我可能完全忽略了一些表示我不需要这样做的内容,但您当前确实需要初始化消息总线,尽管通过阅读一些配置设置可以改进提供的示例。它并不完美,但与其他替代方案相比,它是一个相对直接的机制。