2017-08-31 106 views
1

我試圖構建一個隨着時間的推移隨着時間的推移而添加功能的企業系統。Angular + ASP.Net核心:插件體系結構

我打算用ASP.Net與Angular的UI進行核心微服務架構。我無法找到一個示例,顯示我們如何在不更改任何現有角碼的情況下引入新模塊。

我能夠在傳統的Winforms應用程序中使用像MEF這樣的技術來完成這項工作,並將dll放入一個shell監視和加載的文件夾中。

看起來沒有使用Angular框架的例子。所以我很好奇它是否有可能實現如下所示的架構?

enter image description here

Module是用作該殼可以呈現和Service是由應用程序本身使用的邏輯服務的角文件asp.net核心服務。

我確實看到this post,這與我想要做的接近,但我不確定這是否是正確的解決方案。

任何指針讚賞。

+0

ASP.NET核心模塊發生在Angular shell中嗎?我不確定它是否有意義。 –

+0

@ MathieuRenda:是的,他們擁有適用於通過Angular Shell呈現的模塊的UI部分 – Kiran

回答

0

我試圖執行一個插件架構利用ABP,角和ASP.NET核心:https://github.com/chanjunweimy/abp_plugin_with_ui

基本上,我使用不同的角度的應用,那麼我動態添加他們共同開發角插件。我如何實現它

更多信息:

我有2個角-CLI應用中,1是主角度CLI應用程序,而另一個是插件角CLI應用程序。我們在Angular-cli插件架構方法中面臨的問題是我們如何整合它們。

現在,我所做的是,我在兩個應用程序上運行ng-build,並將它們放入一個「wwwroot」文件夾,然後託管在ASP.NET核心2.0服務器中。

abp_plugin_with_ui是一個存儲庫,它開發一個包含後端和Angular cli的插件。對於後端,我使用了aspnetboilerplate框架,前端是使用多個angular-cli應用程序開發的。

要將主應用程序與插件應用程序集成在一起,我們必須在兩個應用程序上運行「ng-build」(注意,我們也必須更改爲插件應用程序的href),然後移動建立插件角色cli應用程序的內容,到主應用程序「wwwroot」文件夾。完成所有這些後,我們可以運行「dotnet run」來爲ASP.NET Core 2.0 Web應用程序提供「ng build」生成的靜態文件。在這種方法中,插件Angular UI應用程序獨立於主要的Angular UI應用程序:它們使用IFrame進行連接。

最近,我意識到我們可以即時創建組件,這意味着最好下載「NgModule」並動態創建該模塊。該選項更好,因爲插件UI將直接集成到主應用程序UI中。我仍在嘗試這種方法。

@bruno建議的另一個選擇是在SOA中開發UI。這意味着,我們可以選擇不將用戶界面分成插件,而是將其作爲獨立服務分解爲模塊。您需要有一個所謂的「IT/Ops客戶端」,可以幫助您管理要在用戶界面中顯示的視圖,主界面只是一個框架/模板,可以顯示「IT/Ops客戶端」想要顯示的內容。通過這種方式,我們可以註冊這些服務,並選擇要使用的服務。這是微服務體系結構,可能會關閉你想要的。微服務專家Udi Dahan對此發表了博文(鏈接:http://udidahan.com/2014/07/30/service-oriented-composition-with-video/