我需要编写一个发送电子邮件的程序......
需要在Windows中将其设置为计划任务,并从ASP.NET网站按需调用。
我知道如何编写可执行文件(我的ASP.NET网站即将完成)。
我知道如何编写程序代码,但我希望避免在两个地方重复我的代码!
我的第一个想法是编写.exe,将其设置为计划任务,并从ASP.NET网站中的代码调用它。 button_clicked但我不太确定这是个好主意。
有更好的方法(更安全,但没有更多努力)?
这是一个ASP.NET网站项目(不是应用程序)它不是解决方案的一部分 - 它应该是吗?
答案 0 :(得分:1)
如果您可以访问服务器上的GAC,那么只需将代码从EXE中抽象出来并进入库程序集。将库DLL添加到GAC。然后从EXE和Web项目中引用该DLL。
如果您无法访问GAC,您仍然可以执行此操作,只需使用EXE部署DLL并将其部署到Web应用程序的bin中。
修改
这是如何创建库程序集http://broadcast.oreilly.com/2010/07/understanding-c-namespaces-and.html
答案 1 :(得分:1)
在ASP.NET中包含发送代码,并在您的网站上为计划任务请求提供受密码保护的URL(例如/send-mails?pw=jdgdifgnfdhg
)。这样你就不需要EXE了。您可以使用curl.exe执行http请求。超级简单。