我正在设计一个应用程序的体系结构,其中包含许多子应用程序。这些子应用程序将由我们开发,但在稍后阶段。
我想将这些子应用程序创建为可安装的插件/模块,它可能有多个页面(.aspx页面),这些页面应该能够与主要核心应用程序交互并消耗其共享数据。
我严格要求可以通过操作配置或添加文件夹或 DLL 来安装插件/模块。
我的应用程序将是一个ASP.net Web应用程序。如果ASP.net MVC解决了目的,那么我也可以查找它。
我的应用程序将使用URL来识别要加载的模块。以下是我希望申请的一些网址的一些示例。
e.g。
http://www.myCoreApp.com/Module1/
www.myCoreApp.com将托管我的核心应用程序,我的模块将在其中安装。
Module1,crm,accounting和xyz是My Core App上安装的模块。
答案 0 :(得分:3)
你应该看一下MEF(Managed Extensibility Framework)。如果您的应用程序是ASP.NET Web窗体或MVC,或者即使是Winforms
,也没有区别答案 1 :(得分:0)
我会选择MVC。
可以通过约定和检查某些初始化类型(如IModule)的实现来自动发现模块。
然后你可以在DI容器(如Windsor)中注册你的控制器,这样所有'共享'组件都将被容器注入。
HTH