我想在ASP.NET 2.0(C#)和SQL2005中开发一个Online Reminder服务。但我没有得到提醒服务的概念。 我所知道的是使用在线提醒服务我可以安排未来日期的提醒,通过电子邮件或短信在该日期发送给我(安排提醒)。但是在asp.net中如何做到这一点,caz任何人都可以安排任何日期的提醒,我们将如何知道何时将该邮件发送给该人。我们必须放一些循环或什么。
那么请指导我,在线提醒服务的概念是什么以及如何使用ASP.NET和SQL轻松开发此应用程序
被修改
我在共享托管服务器上,因此该解决方案必须能够在共享托管上工作。
或者
请告诉我是否有人知道任何免费的开源提醒服务CMS,我可以下载并研究它。
答案 0 :(得分:1)
大多数情况下,这是一个两件式应用程序,用于输入提醒的前端UI和检查预定事件并实际发送通知的服务。
ASP.NET应用程序是基于请求的,因此您通常不会让长时间运行的进程从应用程序本身执行后台工作。您可以查看一些安排Web应用程序的示例,这样您就可以了解通常发生的情况。
编辑:
如果应用程序必须是共享主机上的独立Web应用程序,我没有建议。我不建议设置来实现你的目标。
答案 1 :(得分:1)
您可能需要某种后端流程来查找需要发送提醒的项目。这个可能是ASP.Net工作进程中的后台线程(在global.asx中的Application_Start中启动),但更可能是在后台运行的Windows服务。它可以在与Web应用程序相同的服务器上运行(可能在较小的系统上)或在自己的专用机器上运行。
无论哪种方式,它都不像您期望的那样微不足道,因为在您的支票频率和提醒的滞后时间之间存在平衡行为。
哦,为什么ASP.Net 2.0,当3.5是“当前”?
答案 2 :(得分:1)
是的,你需要的关键是某种调度程序 - 通常你会使用以下之一:
其中任何一个都可以设置为调用您网站上的一个页面来启动此过程。
当您处于共享环境中时,您不太可能访问其中任何一个,因此需要有其他一些流程。
你可以做的是让远程(到服务器)调度程序调用你网站上执行查找和发送电子邮件的页面 - 这可能是你的开发/办公环境中运行的东西(伴随着所有伴随的危险)电源/网络故障等),或者您可以查看获取“站点监控”服务,该服务将定期ping服务器上的页面,以检查它是否已启动并运行。
它点击的页面会:
我们基本上有一个SQL作业在我们的网络服务器上调用这样的页面来发送每日警报,并且通常效果很好。
没有理由说远程服务器无法调用该页面来启动此过程。
此类事情可以使用各种选项:
只是一对,我相信还有更多。