asp.net - Asp.Net Core 模块化应用
问题描述
我正在构建 asp.net core 2 模块化应用程序,我有一个模块,但现在我要创建另一个模块,我需要开发两个模块之间的通信,我需要使用模型类从模块 B 中的模块 A,如何在模块之间没有任何依赖关系的情况下实现这一点我不想将模型类放在共享项目中,也不想在模块之间创建引用。
解决方案
模块不应该依赖于另一个模块,它只能依赖于合约。一些例子。您有A
带有接口的模块IModuleAService
和实现它的类,ModuleAService
. 模块B
需要他的服务ModuleBSerice
实现IModuleAService
。所以创建单独的程序集:
ModuleA.Abstractions
: 包含IModuleAService
和其他合同ModuleA
:取决于ModuleA.Abstraction
,包含ModuleAService
实现的类IModuleAService
ModuleB
: 取决于ModuleA.Abstraction
。
在您的启动课程中,您需要注册所有模块。IoC 将为您完成所有工作。如果以后您想将应用程序分成两部分,那将很容易。案例您需要实现代理访问ModuleA
。
推荐阅读
- ubuntu-18.04 - 无法连接到我的世界远程服务器:连接被拒绝
- algorithm - 使用数组构建 BST 并查询新的节点插入级别/深度
- url - 是否有任何理由从 URL 中共同复制代码行?
- reactjs - ReactJS,我想将组件转换为 pdf,还要滚动页面
- r - 为什么闪亮没有在服务器会话中调用本地函数?
- azure - Azure Function 在缺少 url 查询时崩溃
- python - 如何使用python3检查带有url的列表的HTTP状态?
- javascript - React Native,“this”关键字是不可抗拒的
- sightly - 正确地如何测试一个字符串是否包含另一个子字符串
- css - 尝试在弹性盒内制作弹性盒