2

我有一个应该定期发送电子邮件的 Windows 服务。

在 windows 服务项目旁边有一个 MVC 3 项目,它使用 MvcMailer 发送电子邮件(很漂亮)。

我想使用相同的引擎为 Windows 服务发送电子邮件。

我该怎么做?

导入 MVC 二进制文件并为此创建一个控制器和新视图?它会起作用吗?

将其保存在数据库中并请求我的 Web 项目发送电子邮件可能不是最佳解决方案,因为信息是查询的结果并且太大而无法在请求中发送。

我看到的唯一其他选择是简单地请求 Web 项目完成所有工作,但这样将 Windows 服务放在另一个服务中以节省站点应用程序资源是没有好处的。你会怎么做?

4

3 回答 3

4

作为 MVC 邮件的替代方案,ActionMailer.NET 现在可以在 MVC 之外独立使用。

此处介绍了详细信息

http://geeksharp.com/2011/07/06/actionmailer-0-6-released/

于 2012-07-21T04:27:25.037 回答
0

我认为从服务中调用 mvc 邮件程序可能是一种矫枉过正。如果 mvc 项目应该公开为所有其他解决方案发送电子邮件 API,那么构建 REST api 可能是有意义的。但是,如果您只是想将操作方法​​的功能引入 Windows 服务,那么我会选择一个进程内功能组件。如果您可以将 mvcmailer 操作方法的逻辑重构到另一个程序集中,为什么不这样做,然后将该 assemlby 作为依赖项包含在您的 Windows 服务解决方案中。如果您可以提供邮件程序的全部用途以及它在 Web 场景中的使用方式,它可能会帮助我们提供更好的架构。

于 2011-12-05T01:33:28.633 回答
0

为什么您认为发送到 mvcmailer 我们的查询太大?如果您的 mailer MVC 项目已经在工作并通过一个 RESTful URL 公开,那么它将成为您的电子邮件服务,只需将其作为来自您的服务的 Web 请求调用。

你可以在你的请求中绕过大小限制这不应该是一个问题。

于 2011-12-04T19:23:31.350 回答