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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 发送电子邮件是否属于应用程序的表示层或业务层?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找出放置代码以在我的 Asp.net MVC应用程序中发送电子邮件的最佳区域.现在我的应用程序设置在2个VS项目中,将业务层与表示层分开.我试图设置一种情况,当用户重置其密码时,在业务逻辑更改密码后,服务器将使用新生成的密码向用户发送电子邮件.

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

解决方法

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

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

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

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

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

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

猜你在找的asp.Net相关文章