0

ASP.NET 2.0(C#)およびSQL2005でオンラインリマインダーサービスを開発したいと思います。しかし、私はリマインダーサービスの概念を理解していません。私が知っているのは、オンラインリマインダーサービスを使用していることです。将来の日付のリマインダーをスケジュールできます。これは、その日に電子メールまたはSMSで(リマインダーをスケジュールする)私に送信されます。しかし、asp.netでこれを行う方法では、誰でも任意の日付のリマインダーをスケジュールできます。その人にそのメールをいつ送信するかを知る方法です。ループか何かを入れなければなりません。

オンラインリマインダーサービスの概念と、ASP.NETとSQLを使用してこのアプリケーションを簡単に開発する方法を教えてください。

編集済み

私は共有ホスティングサーバーを使用しているため、ソリューションは共有ホスティングで機能する必要があります。

または

私がダウンロードして研究できる無料のオープンソースリマインダーサービスCMSについて誰かが知っているかどうか教えてください。

4

3 に答える 3

1

ほとんどの場合、これは2つのアプリケーションであり、リマインダーを入力するためのフロントエンドUIと、スケジュールされたイベントをチェックして実際に通知を送信するサービスです。

ASP.NETアプリケーションは要求ごとに基づいているため、通常、アプリケーション自体からバックグラウンド作業を実行する長時間のプロセスを維持することはありません。Webアプリケーションのスケジューリングの例をいくつか調べて、一般的に何が起こっているのかを理解できるようにするとよいでしょう。

編集:
アプリケーションが共有ホスティング上のスタンドアロンWebアプリケーションである必要がある場合、推奨事項はありません。私はあなたの目標を達成するためにそのセットアップをお勧めしません。

于 2009-03-11T04:06:39.960 に答える
1

リマインダーの送信が必要なアイテムを探すために、ある種のバックエンドプロセスが必要になる可能性があります。これ、ASP.Netワーカープロセス(global.asxのApplication_Startで開始)のバックグラウンドスレッドである可能性がありますが、バックグラウンドで実行されているWindowsサービスである可能性が高くなります。Webアプリと同じサーバー(おそらく小規模なシステム)または専用のマシンで実行できます。

いずれにせよ、チェックの頻度とリマインダーの遅延時間の間にバランスをとる行為があるので、それはあなたが期待するほど簡単なプロセスではありません。

ああ、そしてなぜ3.5が「最新」であるのにASP.Net 2.0なのか?

于 2009-03-11T04:10:28.237 に答える
1

はい、必要な鍵は何らかのスケジューラーです。通常は次のいずれかを使用します。

  • サーバー上の Windows サービス
  • SQL ジョブ
  • サーバー上でスケジュールされた CRON または AT ジョブ

これらのいずれかを設定して、このプロセスを開始するサイトのページを呼び出すことができます。

共有環境にいるため、それらのいずれにもアクセスできない可能性が高いため、他のプロセスを用意する必要があります。

あなたができることは、ルックアップを実行して電子メールを送信するWebサイト上のページを呼び出すリモート(サーバーへの)スケジューラーを持つことです-これは、開発/オフィス環境で実行されているものである可能性があります(電源/ネットワークのすべての付随する危険を伴います)障害など)、またはサーバー上のページに定期的にpingを送信して、ページが稼働しているかどうかを確認する「サイト監視」サービスを取得することを検討できます.

ヒットするページは次のようになります。

  1. フラグをチェックして、今日のアラートが送信されたかどうかを確認します。
  2. フラグを更新して、送信が進行中であることを示します。
  3. 今日のアラートを検索します。
  4. 今日のアラートを送信します。
  5. フラグを更新して、アラートが送信されたことを示します。

基本的に、Web サーバーでこのようなページを呼び出して毎日アラートを送信する SQL ジョブがあり、通常は非常にうまく機能します。

このプロセスを開始するために、リモート サーバーがページを呼び出せない理由はありません。

この種のものには、さまざまなオプションが用意されています。

ほんの数個ですが、他にもたくさんあると思います。

于 2009-03-13T10:39:15.263 に答える