加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 发送电子邮件是否属于应用程序的表示层或业务层

发布时间:2020-12-16 04:01:21 所属栏目:asp.Net 来源:网络整理
导读:我试图找出放置代码以在我的 Asp.net MVC应用程序中发送电子邮件的最佳区域.现在我的应用程序设置在2个VS项目中,将业务层与表示层分开.我试图设置一种情况,当用户重置其密码时,在业务逻辑更改密码后,服务器将使用新生成的密码向用户发送电子邮件. 我是否应该
我试图找出放置代码以在我的 Asp.net MVC应用程序中发送电子邮件的最佳区域.现在我的应用程序设置在2个VS项目中,将业务层与表示层分开.我试图设置一种情况,当用户重置其密码时,在业务逻辑更改密码后,服务器将使用新生成的密码向用户发送电子邮件.

我是否应该调用代码从业务层(业务层重置密码之后)或在表示层(业务层返回成功结果之后)发送电子邮件(包括电子邮件的外观数据)?

解决方法

我部分同意BobTodd,因为他建议你把它抽象出来.我(部分)不同意的唯一部分是关于它进入业务层.

发送电子邮件取决于某种物理实现 – 并且您不希望将BL绑定到与某些电子邮件提供商相关的外部依赖项.

在一个小项目中,你可以将它包含在BL中,我想,为了简单起见,但我赞成完全抽象出来,在这种情况下,我会像处理数据访问一样对待它.

在我对世界的看法中,你可以把它放在两个地方:

>作为您可能希望从任何地方呼叫的共享服务 – 并且因为它将被抽象出来,您将能够.
>作为/通过“外部服务适配器”,它也被抽象出来但只能从BL访问 – 这可能反过来暴露任何东西(如UI)可以调用的方法(如果你真的想要).

注意:自我推销提醒! – 取自我自己的一篇文章:http://morphological.wordpress.com/2011/08/29/5-layer-architecture/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读