我想用ASP.NET 2.0 (C#)和SQL2005开发一个在线提醒服务。但我没有得到提醒服务的概念。我所知道的是使用一个在线提醒服务,我可以安排一个提醒的未来日期,这是发送给我(谁安排提醒)通过电子邮件或短信在那个日期。但在asp.net中,任何人都可以为任何日期安排提醒,我们如何知道何时将邮件发送给此人。我们得放点圈套否则怎么样。
因此,请指导我,在线提醒服务的概念是什么,以及如何使用ASP.NET和SQL轻松地开发这个应用程序。
编辑的
我在共享主机服务器上,所以这个解决方案必须能够在共享主机上工作。
或
请告诉我,如果有人知道任何免费和开放源码提醒服务CMS,我可以下载和研究它。
发布于 2009-03-13 10:39:15
是的,您需要的关键是某种类型的调度器--通常您会使用以下其中之一:
其中任何一个都可以设置为调用站点上的一个页面,该页面将启动此过程。
由于您所处的环境是共享的,所以您不太可能访问其中的任何一个,因此需要设置一些其他流程。
您可以做的是让远程(到服务器)调度器调用网站上的一个页面,该页面执行查找并发送电子邮件--这可能是在开发/办公环境中运行的东西(伴随着电源/网络故障的所有危险,等等),或者您可以查看一个“站点监控”服务,该服务将定期在您的服务器上运行一个页面,以检查它是否已经启动和运行。
然后它点击的页面将:
我们基本上有一个SQL作业,它在我们的We服务器上调用这样的页面来发送每天的警报,而且它通常运行得很好。
没有理由不能由远程服务器调用页面来启动此进程。
可以为这类事情提供各种选项:
只是一对,我肯定还有很多。
发布于 2009-03-11 04:06:39
大多数情况下,这是一个两部分的应用程序,用于输入提醒的前端UI和一个检查计划事件并实际发送通知的服务。
ASP.NET应用程序是每个请求的基础,因此通常不会保持一个长时间运行的流程从应用程序本身进行后台工作。查找一些调度web应用程序的示例可能会对您有好处,这样您就可以了解到通常发生的事情。
编辑:
我没有任何建议,如果应用程序必须是一个独立的web应用程序共享托管。我不建议设置这个设置来完成您的目标。
发布于 2009-03-11 04:10:28
您可能需要某种后端过程来查找需要发送提醒的项目。这可能是ASP.Net工作进程中的后台线程(在global.asx中的Application_Start中启动),但更有可能是在后台运行的windows服务。它可以与web应用程序(可能在较小的系统上)运行在同一台服务器上,也可以在自己的专用机器上运行。
无论哪种方式,它都不像你想象的那样琐碎,因为在检查的频率和提醒的滞后时间之间有一个平衡的动作。
哦,为什么ASP.Net 2.0,当3.5是“当前”?
https://stackoverflow.com/questions/633279
复制相似问题