【发布时间】:2010-09-22 00:56:03
【问题描述】:
在 MVC Web 应用程序中,我经常发送电子邮件。
我通常在控制器中执行此操作,因为我从控制器加载所有视图(包括电子邮件视图)。
不过,现在我有一些代码用于从模型发送电子邮件。
电子邮件通常从哪一层发送?有关系吗?它需要保持一致吗?
【问题讨论】:
-
这取决于,“用户”是否发送电子邮件,然后看到确认页面?如果是这样,应该在控制器中完成(发送电子邮件,显示确认视图)。如果它是后台/管理的事情,控制器应该调用服务层中的方法,如下面的回答所述。
-
我认为电子邮件的实际发送仍应在服务中完成。控制器应该实例化服务,将数据传递给它,获取响应,然后调用视图来渲染传递结果数据。