2012-03-07 11 views
0

リモートプログラムにクエリを送信してデータを受信する必要があります。それから私のDBに入れてください。 コントローラの動作を60秒ごとに呼び出すことは可能ですか?タイマーでコントローラを呼び出す

ありがとうございました。

PS。私はそれがサーバー側で行われなければならないと思う。 JSソリューションではありません。

UPDATE:

まず、私は、MS SQL ServerのDBを持っています。
第2に、特定のTCPポートをリッスンしてクエリを待機するリモートプログラムがあります。私は60秒ごとにクエリを送信し、応答を解析し、解析したデータを自分のMS SQL Server DBに入れたいと思っています。

+0

下のリンクを使用して、より詳細には、それはあなたを助けることができ、正しい人に達したことを確認するために、あなたの質問に言語タグを追加してください見つけることができます。 –

+0

JavaScriptを使用できないのはなぜですか?これはブラウザからデータをプッシュする自然な方法です。 –

+0

サイト内に10人のユーザーが入っているとします。 60秒後にリモートシステムへの要求が10になります。サイトにユーザーがいない場合は? – user348173

答えて

1

Ajaxを使用すると、コントローラにデータを送信するタイマーをx秒ごとに作成できます。 Webアプリケーションのスペルチェッカープラグインがこれを行い、入力時にスペルチェックを行います。

1

私はスタンドアロンサービス(windows、wcf、msmqなど)をバックグラウンドで実行し、「クエリを送信して」あなたのDBに保存する方が良いと思います。

ウェブアプリケーションは、時間ベースの「常に生きている」メカニズムとして利用されるようには設計されていません。 「Timing」には状態が必要であり、HTTPはステートレスプロトコルです。

シャープホーンの機能を、それを扱うように設計されていないものにしようとしないでください。

もう一度私は完全にあなたの質問を誤解することができます。かなり可能。文を混乱

これは、外部のなら、どのようにあなたはそれがコントローラであることを知っているん

コントローラのアクションを呼び出すことが可能ですか?これは外部APIですか?

特定のTCPポートを聞くと、Webアプリケーション/コントローラのような音はありませんクエリ

を待っているリモート・プログラムがあります。

1

* nixベースシステムではcronを使用できます。または、プログラムが毎時間イベントをトリガーする可能性があります。

0 * * * * lynx url-of-your-program-address.com/action/to/call 
1

あなたの質問は混乱します。しかし、あなたがここにいるのは、ここに近づくかもしれない解決策だと推測するためだけにここにいるからです。

(PS私はコンパイルまたはこれをテストしていない...なぜ私は気にする必要があるため)

class ConsoleApplication 
{ 
public static void Main() 
{ 
    Timer myTimer = new Timer(); 
    myTimer.Elapsed += new ElapsedEventHandler(DoAction); 
    myTimer.Interval = 1000; 
    myTimer.Start(); 

    while (Console.Read() != 'q') 
    { 
     ; // do nothing... 
    } 
} 

public static void DoAction(object source, ElapsedEventArgs e) 
{ 
    Console.WriteLine("Made request at {0}", DateTime.Now); 

    using (WebClient client = new WebClient()) 
    {    
     using (Stream stream = client.OpenRead("http://whereever")) 
     using (StreamReader reader = new StreamReader(stream)) 
     { 
      Console.WriteLine(reader.ReadToEnd()); 
     } 
    } 
} 
} 
1

あなたのソリューションは、私はそれにタイマーを使用してWindowsサービス・ソリューションで遊んでしまうどうあるべきか柔軟に応じて、 Quartz.Netを使用してください。 あなたはhttp://quartznet.sourceforge.net/

関連する問題