最佳方法多域 .NET Core 应用程序
Best approach multidomain .NET Core application
我正在构建多个共享一些 类 方法和信息的网站。最好的方法是什么?
该应用程序是使用 razor pages
在 asp.net core 2.2
中编写的。计划是与多个 websites/domains 共享一些代码,例如:
- components
- models
- some pages
- partials
- custom tag helpers
- dbcontext
但是每个域都有自己的来源:
- styling (sccss)
- (external) libraries (like javascript plugins)
- some additional domain-specific pages
- appsettings.json
- _layout.cshtml
共享数据库(EF Core - DB 上下文)以及一堆静态文件(图像)。但是我们需要根据 domain/website.
设置 cookie 和会话数据
目前没有必要,但也许我们将来想通过多个域共享一个登录会话。
如果我们可以只更新一个域,使用一组共享的 dll,而不需要重建所有代码,那就太好了。
几个小时的研究和反复试验,给我带来了部分解决方案。首先,我将项目拆分为 Razor Class Library (RCL)
和共享的 pages/models/classes/tag helpers/extensions/styles 等。甚至 DbContext
也在其中 :)。另一个项目包含我的 'domain-specific overrides'。效果还不错。
向导
为了创建我的 RCL,我使用了这个:Creat reusable UI(当然...)
为了注册接口和 DbContext,我使用了这个:
并嵌入 'static' 个文件 (js/css) 我使用了这个:Including Static Resources
最后要做的是在网络服务器上注册我的共享 RCL 的 dll,并将不同的域项目上传到域。还没做过,不过好像挺简单的。
这个解决方案符合我的期望,但可能不是最好的方法。请随时post其他解决方案!
我正在构建多个共享一些 类 方法和信息的网站。最好的方法是什么?
该应用程序是使用 razor pages
在 asp.net core 2.2
中编写的。计划是与多个 websites/domains 共享一些代码,例如:
- components
- models
- some pages
- partials
- custom tag helpers
- dbcontext
但是每个域都有自己的来源:
- styling (sccss)
- (external) libraries (like javascript plugins)
- some additional domain-specific pages
- appsettings.json
- _layout.cshtml
共享数据库(EF Core - DB 上下文)以及一堆静态文件(图像)。但是我们需要根据 domain/website.
设置 cookie 和会话数据目前没有必要,但也许我们将来想通过多个域共享一个登录会话。
如果我们可以只更新一个域,使用一组共享的 dll,而不需要重建所有代码,那就太好了。
几个小时的研究和反复试验,给我带来了部分解决方案。首先,我将项目拆分为 Razor Class Library (RCL)
和共享的 pages/models/classes/tag helpers/extensions/styles 等。甚至 DbContext
也在其中 :)。另一个项目包含我的 'domain-specific overrides'。效果还不错。
向导
为了创建我的 RCL,我使用了这个:Creat reusable UI(当然...)
为了注册接口和 DbContext,我使用了这个:
并嵌入 'static' 个文件 (js/css) 我使用了这个:Including Static Resources
最后要做的是在网络服务器上注册我的共享 RCL 的 dll,并将不同的域项目上传到域。还没做过,不过好像挺简单的。
这个解决方案符合我的期望,但可能不是最好的方法。请随时post其他解决方案!