2012-09-21 49 views
0

我正在託管一個需要Console.ReadKey()語句正常工作的C#應用​​程序。 AppHarbor似乎並不支持這一點,它終止我與以下錯誤應用程序了:如何獲取Console.ReadKey()函數以在AppHarbor中工作?

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

順便說一句,你的應用程序是一個控制檯應用程序? – Ademar

+0

@Ademar請注意,AppHarbor支持beackground工作者:http://support.appharbor.com/kb/getting-started/background-workers – friism

回答

3

它沒有任何意義從AppHarbor控制檯讀取;您的控制檯應用程序以非交互方式運行,並用於後臺進程。

你能解釋一下你想做什麼嗎?如果您想通過用戶瀏覽器閱讀密鑰,則需要構建網站並部署該網站,這與編寫控制檯應用程序的不同之處在於非常類似

+0

在我的情況我使用Console.ReadLine()不終止應用程序。然後我使用System.Timers.Timer每x分鐘做一些工作。但是當它執行Console.Readline()時,會引發此錯誤「句柄無效。」總是 – Kirzy

+1

爲什麼不直接用Thread.Sleep或其他東西在主線程的循環中完成工作? while(true){DoStuff(); Thread.sleep代碼(1000000); } –

相關問題