0

我需要编写一个程序来发送电子邮件...

它需要在 Windows 中设置为计划任务,并从 ASP.NET 网站按需调用。

我知道如何编写可执行文件(我的 ASP.NET 网站即将完成)。

我知道如何编写程序,但我希望避免在两个地方重复我的代码!

我的第一个想法是编写一个 .exe 代码,将其设置为计划任务,然后从 ASP.NET 网站中的代码(例如 button_clicked)中调用它,但我不太确定这是一个好主意。

有没有更好的方法(更安全,但没有更多的努力)?

这是一个 ASP.NET 网站项目(不是应用程序),它不是解决方案的一部分 - 应该是吗?

4

2 回答 2

1

让发送代码在 ASP.NET 中,并让计划任务在您的网站上请求一个受密码保护的 URL(例如/send-mails?pw=jdgdifgnfdhg)。这样你就不需要EXE了。您可以使用 curl.exe 执行 http 请求。超级简单。

于 2013-08-08T16:47:17.507 回答
1

如果您可以访问服务器上的 GAC,那么只需将代码从 EXE 中抽象出来并放入库程序集中。将库 DLL 添加到 GAC。然后从 EXE 和 Web 项目中引用该 DLL。

如果您无法访问 GAC,您仍然可以这样做,只需将 DLL 与 EXE 一起部署到您的 Web 应用程序的 bin 中。

编辑

这是创建库程序集的方法http://broadcast.oreilly.com/2010/07/understanding-c-namespaces-and.html

于 2013-08-08T15:45:51.180 回答