角度+;ASP.Net内核:插件体系结构

角度+;ASP.Net内核:插件体系结构,asp.net,angular,asp.net-core,architecture,Asp.net,Angular,Asp.net Core,Architecture,我正在尝试构建一个企业系统,随着时间的推移,随着功能的增加而不断发展 我计划使用ASP.Net核心微服务体系结构,在UI中使用Angular。我找不到一个示例来说明如何在不更改任何现有代码的情况下引入新模块 我能够在传统的winforms应用程序中使用MEF等技术实现这一点,并将dll放入shell监视和加载的文件夹中 看起来没有使用角度框架的示例。所以我很好奇是否有可能实现如下所示的架构 Module是asp.net核心服务,为shell可以呈现的角度文件提供服务,Service是应用程序本

我正在尝试构建一个企业系统,随着时间的推移,随着功能的增加而不断发展

我计划使用ASP.Net核心微服务体系结构,在UI中使用Angular。我找不到一个示例来说明如何在不更改任何现有代码的情况下引入新模块

我能够在传统的winforms应用程序中使用MEF等技术实现这一点,并将dll放入shell监视和加载的文件夹中

看起来没有使用角度框架的示例。所以我很好奇是否有可能实现如下所示的架构

Module
是asp.net核心服务,为shell可以呈现的角度文件提供服务,
Service
是应用程序本身使用的逻辑服务

我确实看到了,这接近我想要做的,但我不确定这是否是正在讨论的正确解决方案


任何指针都值得欣赏。

我尝试使用ABP、Angular和ASP.NET内核实现插件架构:

基本上,我使用不同的angular应用程序开发angular插件,然后动态地将它们添加到一起

有关我如何实现此目标的更多信息:

我有2个angular cli应用程序,1个是主angular cli应用程序,另一个是插件angular cli应用程序。我们在Angular cli插件体系结构方法中面临的问题是如何集成它们

现在,我所做的是,在这两个应用程序上运行ng build,并将它们放入“wwwroot”文件夹中,然后将其托管在ASP.NET core 2.0服务器中

abp_plugin_with_ui是一个用于开发包含后端和客户端的插件的存储库。对于后端,我使用了aspnetboilerplate框架,该框架的前端是使用多角度cli应用程序开发的

要使主应用程序与插件应用程序集成,我们必须在两个应用程序上运行“ng build”(注意,我们还必须更改插件应用程序的href),然后将插件应用程序的内置内容移动到主应用程序“wwwroot”文件夹。完成所有这些之后,我们可以运行“dotnetrun”来为ASP.NETCore2.0Web应用程序提供服务,以托管由“ng build”生成的静态文件。在这种方法中,插件Angular UI应用程序独立于主Angular UI应用程序:它们使用IFrame连接

最近,我意识到我们可以动态创建组件,这意味着下载“NgModule”并动态创建该模块可能更好。此选项更好,因为插件UI将直接集成到主应用程序UI中。我还在尝试这种方法


@bruno建议的另一个选择是在SOA中开发UI。这意味着,我们可以选择不将UI分离为插件,而是将它们作为独立服务分离为模块。您需要一个所谓的“IT/Ops客户端”,它可以帮助您管理要在UI中显示的视图,而主UI只是一个框架/模板,它将显示“IT/Ops客户端”要显示的内容。使用这种方式,我们可以注册这些服务,并选择要使用的服务。这是微服务体系结构,可能与您想要的内容接近。微服务专家Udi Dahan在博客中发表了一篇文章(链接:)

ASP.NET核心模块在一个有棱角的外壳中运行?我不确定这是否有意义。@MathieuRenda:是的,他们的UI部分适用于通过角壳呈现的模块