假设我们每个租户都有不同的SMS提供者(每个租户都有自己的SMS提供者,希望通过这些提供者发送SMS)我们如何在ASPNetBoilerplate中实现这种情况?如何将短信操作转换为界面?
-1
A
回答
0
如果每个租户只有一个短信提供商,那么您可以在Tenant类上创建一个复杂类型。如果每个租户都有多个SMS提供商,则创建TenantSmsProvider实体。
我不明白你为什么要创建DLL!
0
我想你是要求依赖注入。 您应该创建一个工厂(称为ISmsProviderFactory
),该工厂根据租户ID(例如GetProviderByTenantId(int tenantId
)创建短信服务提供商(如ISmsProvider
)。这是一种常见的软件模式。然后,您可以在需要时根据租户注入ISmsProviderFactory
并获得ISmsProviderFactory
。
您可以使用Castle Windsor的API来注册工厂依赖关系,而不是创建自定义工厂类。因此,您可以直接在您的代码中注入ISmsProvider
。
现在,问题是如何实施SmsProviderFactory
?有不同的方法取决于你的要求。但是这部分不在ABP的范围之内,你可以在网上找到很多文章。
顺便说一句,如果你想利用ABP的插件系统,那么你可以设计它有点不同:每个插件的DLL可以添加一个ISmsProvider
到字典(其中字典的关键是租户ID /名称),所以你的工厂可以为特定租户选择注册的提供商。
相关问题
- 1. 将短信作为短信转发给手机
- 2. 如何将Delphi复制操作转换为.Net子串操作?
- 3. 将[] []界面转换为[] []字符串
- 4. 如何将datetime转换为短日期?
- 5. 为什么在短信中将被替换为短信短信中的问号?
- 6. 如何将Arduino MQ-3输入转换为Delphi界面?
- 7. 如何使用EditText作为短信在Android工作室短信
- 8. 如何将音频转换为信号
- 9. 如何操作这个界面?
- 10. 将Delphi按位操作转换为Cobol
- 11. 将python操作转换为numpy
- 12. 将Servlet转换为Struts2操作类
- 13. 如何以编程方式将短信作为附件发送给短信?
- 14. 将PostgreSQL操作符转换为与MySQL等价的操作符?
- 15. 将短信从文本转换为PDU格式Java
- 16. 如何将部分更新操作从ObjectContext转换为DbContext
- 17. Xcode iPhone - 如何将图像转换为文本进行操作?
- 18. PowerShell:如何将COM对象转换为.NET互操作类型?
- 19. 8086汇编程序如何将标签转换为操作码?
- 20. 如何将HiveQL查询转换为相应的DataFrame操作?
- 21. 如何将Enum转换为Int以用于Expression.Equals操作?
- 22. iPhone操作系统 - 屏幕空间转换为世界空间
- 23. 将linq内的日期转换操作转换为实体
- 24. 如何将其转换为.ascx页面?
- 25. JNI - 如何jshortArray转换为短*
- 26. 界面转换:界面是地图[字符串]界面{}不是
- 27. 将字节转换为短或整数
- 28. 对收到的短信执行操作
- 29. 如何将G.726 ADPCM信号转换为PCM信号?
- 30. 如何将电子邮件的格式作为短信发送
我想我们必须为每个租户创建一个具有特定接口的DLL并存储在相关的数据库中。但是,在ASPNetBoilerplate模板中加载和注入此DLL的位置在哪里? –