2017-09-29 4 views
0

チャンネルを購読していてもプログラムが終了します。これを開いたままにする正しい方法はありますか?このコード、プログラムがすでにそのconsole.writeline()後に行われるために意図されて何を記述しているの現在の行動を見てStackExchange.Redisを購読中に開く方法

:redditのからの回答(EXなしConsole.ReadLine();

using System; 
using StackExchange.Redis; 

namespace redis.test 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost"); 
      IDatabase db = redis.GetDatabase(); 

      ISubscriber sub = redis.GetSubscriber(); 

      sub.Subscribe("test", (channel, message) => { 
       Console.WriteLine("Got notification: " + (string)message); 
      }); 
     } 
    } 
} 

答えて

0

私はあなたが書き込み線の後にアプリケーションを終了させたくないと確信しています。あなたが筆記線の後でアプリケーションを一時停止したい理由を言うことができれば、多分私はあなたをもっと助けることができます。あなたは

CMD/Cを実行して、パイプテキストファイルに出力する可能性

あなただけ後で出力を確認したい場合は

、「C:あなたの\ application.exeを\に\パス\」>をMYFILE

.TXTしかし、console.readline()は、私は今後のメッセージを待つのが好きなので、送信されるすべてのメッセージの後にWriteLineに思い

+0

ことを行うための簡単な方法です。 –

+0

redisに通知をプッシュする機能があるのか​​、それともリクエストする必要があるのか​​分かりません。前者の場合は、どのようにドキュメントをチェックする必要があります。後者の場合は、チェックする頻度を決める必要がありますし、適切なコードを書いてそれを行う必要があります。これはリクエストを抑制するために 'while(true)'と 'Thread.Sleep'と同じくらいシンプルになるかもしれません... – Chris

+0

それ以降のコードを追加している場合はスレッドに入れて' while(true ) 'や' sleep 'のようなものです。 – MDuh

関連する問題