2012-09-21 2 views
0

제대로 작동하려면 Console.ReadKey() 문이 필요한 C# 응용 프로그램을 호스팅하고 있습니다. AppHarbor 나던은이 기능을 지원하는 것 그것은 다음과 같은 오류 내 applicaiton 종료 : 그것은 AppHarbor의 콘솔에서 읽을 이해가되지 않습니다AppHarbor에서 Console.ReadKey() 키 작업을 수행하려면 어떻게해야합니까?

InvalidOperationException: Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.] 
mscorlib_ni!System.Console.ReadKey(Boolean)+0x1ec 
ZiFM!ZiFM.Program.Main(System.String[])+0xc0 
+0

내가 틀릴 수도 있지만 appharbor는 콘솔 앱을 지원하지 않으므로 아마도 문제가있는 것입니다 ... – Ademar

+0

BTW, 앱이 콘솔 앱입니까? – Ademar

+0

@Ademar AppHarbor은 beackground 작업자를 지원합니다. http://support.appharbor.com/kb/getting-started/background-workers – friism

답변

3

을; 콘솔 앱은 비 대화식으로 실행되며 백그라운드 프로세스 용입니다.

당신이하려는 일에 대해 좀 더 설명해 주시겠습니까? 사용자 브라우저를 통해 키를 읽으려면 콘솔 응용 프로그램 작성과 다른 인 웹 사이트를 구축하고 배포해야합니다.

+0

제 경우에는 Console.ReadLine()을 사용하여 응용 프로그램을 종료하지 않습니다. 그런 다음 System.Timers.Timer를 사용하여 x 분마다 작업을 수행합니다. 그러나 Console.Readline()을 실행하면 "핸들이 유효하지 않습니다."라는 오류가 발생합니다. 항상 – Kirzy

+1

Thread.Sleep 등으로 기본 스레드의 루프에서 작업을 수행하는 것이 가장 좋은 이유는 무엇입니까? while (true) {DoStuff(); Thread.Sleep (1000000); } –