「既存のページから HTTP リクエストを介して最新のデータを確認する」とはどういう意味ですか? それはあなたのページですか、それとも他の誰かのページですか? また、コードを WCF サービスまたは ASP.NET ページ内に配置する必要があるのはなぜだと思いますか? これまでの話からすると、これは通常の実行可能ファイルのように思えます。それが何をするかを要約しましょう:
- HTTP経由でページをプルし、前回から変更されたかどうかを確認します
- そうであれば、登録クライアントのリストを取得し、GCM をクライアントに送信します
どちらのタスクにも、Web ページの提供は含まれません。このコードが何らかの方法で Web サイトと対話する必要がある場合、それは問題ありません。ただし、上記の Web サイトの一部である必要はありません。できますが、そうする必要はありません。
とはいえ、スケジュールされたタスクを純粋に Web サーバー環境内で実行するのは難しく、ほぼ不可能です。そこには複数のスケジューリング機能があります (Windows タスク スケジューラが最初に頭に浮かびます)。このコードを Web サーバー内で絶対に実行する必要がある場合は、ローカル Web サーバーへの HTTP 要求を発生させる実行可能なスタンドアロン (XMLHTTPRequest を使用する JavaScript や cURL 呼び出しなど) を記述し、そのスクリプトの呼び出しをスケジュールすることができます。タスク スケジューラで。
編集: スケジューリング自体は Web ベースではできませんし、そうすべきではありません。スケジューリング エンジンは、Web サービスの外部にあります。ほとんどのホスティング プロバイダーは、Windows タスク スケジューラに加えて、このようなサービスを提供します。サーバーの管理インターフェイス (CPanel、RDP など) を確認してください。
とにかく、スケジューラから Web ページを呼び出すには、次のコマンドをスケジュールします。
cscript.exe c:\SomePath\CallWeb.js
CallWeb.js は次のようになります。
var xh = new ActiveXObject("Msxml2.XMLHTTP");
xh.open("GET", "http://localhost/mypage.aspx", false);
xh.send();
mypage.aspx は、SonDepremler.aspx をプルし、解析し、変更を検出し、GCM を送信するページです。
これがあなたの質問 #1 に対する答えです。ホストされた Web サーバー環境でスケジュールされた処理を行うにはどうすればよいでしょうか。ソリューションの他の部分で行き詰まっている場合は、別の質問をしてください。