目前我的任务是创建一堆小型到中型的应用程序,每个应用程序都有一些共同的功能。
以及其他一些不太重要的功能,但这些功能是核心功能。
第一个也许是天真的方法是为每个应用程序创建一个ASP.NET Core 2解决方案,并在每个应用程序可以共享的核心组件类型中实现共享功能。然而,虽然这可能适用于第2点到第5点,但我仍然会为每个应用重复图形用户界面设计(基本上,复制wwwroot文件夹以及共享剃刀视图五次)。因此,明天CSS中的更改必须重复五次。
另一种方法是创建单个ASP.NET Core 2解决方案,实现共享功能和UI,然后使用ASP.NET区域2的“区域”功能,每个区域都是不同的应用程序。这种方法的问题是运送应用程序:如果我必须在客户的服务器中安装五个应用程序,没问题。如果我必须安装,比方说只有两个应用程序,那么我必须运送五个应用程序,并找到一种方法来禁用其他三个应用程序。
因此,我想知道ASP.NET Core 2中是否有用于处理此类场景的功能,或者是什么是可在此处应用的行业标准架构设计。
在使用Unity的Windows Presentation Foundation中,我可以创建一个公共shell,然后在同一个shell窗口中加载该shell中的模块。因此,使用配置文件,我可以根据需要添加或删除模块。我正在寻找的是类似概念的东西。我不想创建五个ASP.NET核心解决方案并复制粘贴wwwroot文件夹并实现相同的授权,通知,电子邮件等机制,而是找到一种方法来加载核心,常用功能然后加载附加功能。
提前致谢。