2017-09-29 3 views
0

채널을 구독해도 내 프로그램이 닫힙니다. 이것을 열어 두는 올바른 방법이 있습니까? 이 코드, 프로그램이 이미 console.writeline() 후에 수행되기 때문에 것입니다 당신이 묘사의 현재 행동을보고StackExchange를 유지하는 방법 등록 된 동안 열어두기

: 레딧에서 응답 (예 : 없음 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()

+0

내가 보낸 모든 메시지 후, 미래의 메시지 그래서를 WriteLine을 기다려야하고 싶은 것을 할 수있는 쉬운 방법입니다. –

+0

redis가 알림을 푸시 할 수 있는지 또는 요청해야하는지 여부는 확실하지 않습니다. 전자의 경우 문서를 확인해야합니다. 후자의 경우 확인을 원하는 빈도를 결정한 다음 적절한 코드를 작성하여이를 수행해야합니다. 이것은 요청을 조절하기위한'Thread.Sleep'을 가진'while (true)'처럼 간단 할 수 있습니다 ... – Chris

+0

그 다음에 더 많은 코드를 추가한다면 그것을 쓰레드에 놓고'while (true)'또는'sleep '을 입력하십시오. – MDuh