【问题标题】:What is the concept of an Online Reminder Service in ASP.NET, SQL?ASP.NET、SQL 中的在线提醒服务是什么概念?
【发布时间】:2009-03-11 04:01:17
【问题描述】:

我想在 ASP.NET 2.0 (C#) 和 SQL2005 中开发在线提醒服务。但我没有得到提醒服务的概念。 我所知道的是使用在线提醒服务,我可以安排未来日期的提醒,该提醒会在该日期通过电子邮件或短信发送给我(安排提醒的人)。但是在 asp.net 中如何做到这一点,因为任何人都可以为任何日期安排提醒,我们如何知道何时将该邮件发送给该人。我们必须放一些循环什么的。

所以请指导我,在线提醒服务的概念是什么以及如何使用 ASP.NET 和 SQL 轻松开发此应用程序

已编辑

我在共享主机服务器上,因此该解决方案必须能够在共享主机上运行。

或者

如果有人知道任何免费和开源的提醒服务 CMS,请告诉我,我可以下载和研究它。

【问题讨论】:

    标签: sql-server asp.net-2.0 reminders


    【解决方案1】:

    是的,您需要的关键是某种调度程序 - 通常您会使用以下之一:

    • 服务器上的 Windows 服务
    • SQL 作业
    • CRON 或 AT 作业计划在服务器上

    其中任何一个都可以设置为调用您网站上的一个页面,该页面将启动此过程。

    由于您处于共享环境中,因此您不可能访问其中任何一个,因此需要有一些其他流程。

    您可以做的是让远程(到服务器)调度程序调用您网站上的一个页面,该页面执行查找并发送电子邮件 - 这可能是在您的开发/办公环境中运行的东西(伴随着所有的危险电源/网络故障等),或者您可以查看“站点监控”服务,该服务将定期 ping 服务器上的页面以检查它是否已启动并运行。

    它点击的页面会:

    1. 检查标志以查看今天的警报是否已发送。
    2. 更新标志以说明发送正在进行中。
    3. 搜索今天的提醒。
    4. 发送今天的提醒。
    5. 更新标志以表明警报已发送。

    我们基本上有一个 SQL 作业,它在我们的网络服务器上调用这样的页面来发送每日警报,它通常工作得很好。

    远程服务器没有理由无法调用该页面来启动此过程。

    此类事情有多种选择:

    只是一对,我相信还有很多。

    【讨论】:

      【解决方案2】:

      您可能需要某种后端流程来查找需要发送提醒的项目。这可能是 ASP.Net 工作进程中的后台线程(在 global.asx 中的 Application_Start 中启动),但更有可能是在后台运行的 Windows 服务。它可以在与 Web 应用程序相同的服务器上运行(可能在较小的系统上)或在自己的专用机器上运行。

      不管怎样,这并不像您想象的那么简单,因为您需要在检查频率和提醒延迟时间之间进行平衡。

      哦,为什么 ASP.Net 2.0,当 3.5 是“当前”时?

      【讨论】:

      • 我必须紧急开发这个应用程序,直到 3 月 30 日,这就是为什么不能迁移到 ASP.NET 3.5 将在未来升级它......
      【解决方案3】:

      大多数情况下,这是一个两部分的应用程序,用于输入提醒的前端 UI 和检查预定事件并实际发送通知的服务。

      ASP.NET 应用程序是基于每个请求的,因此您通常不会让长时间运行的进程从应用程序本身进行后台工作。查找一些调度 Web 应用程序的示例可能会对您有所帮助,这样您就可以了解通常发生的情况。

      编辑:
      如果应用程序必须是共享主机上的独立 Web 应用程序,我没有任何建议。我不建议使用该设置来实现您的目标。

      【讨论】:

        猜你喜欢
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多