2015-02-17 19 views
6

Bir hizmetimi test etmek için ikili bir hizmet/konsol modeli kullanıyorum. gündemde kodudur: "yeterli depolama bu komutu işlemek için kullanılabilir"`Console.ReadLine`.` için yeterli depolama alanı yok

static void Main(string[] args) 
{ 
    // Seems important to use the same service instance, regardless of debug or runtime. 
    var service = new HostService(); 
    service.EventLog.EntryWritten += EventLogEntryWritten; 

    if (Environment.UserInteractive) 
    { 
     service.OnStart(args); 
     Console.WriteLine("Host Service is running. Press any key to terminate."); 
     Console.ReadLine(); 
     service.OnStop(); 
    } 
    else 
    { 
     var servicesToRun = new ServiceBase[] { service }; 
     Run(servicesToRun); 
    } 
} 

Ben, ben bir System.IO.IOException olsun hattı Console.ReadLine(); üzerine, F5 kullanarak hata ayıklayıcı altında uygulamayı çalıştırmak

ReadLine'un tek amacı, uygulamayı sonlandırmak için bir tuşa basana kadar beklemektir; bu nedenle, verilerin o ihtiyaçlardan bu kadar çok saklama alanı olduğunu tahmin edemiyorum.

cevap

9

Bu bir hizmettir ve çıktısı büyük olasılıkla Windows Uygulaması olarak ayarlanmış, çıkışı Konsol Uygulamasına değiştirmiş ve bu işlem devam etmelidir.

+0

Çok teşekkür ederim. Bütün gece boyunca gerçek kodlarla uğraşmak zorunda olduğum gibi küçük sıkıntılara çok zaman harcadım. – ProfK

+1

2 dakika sınırını kabul etmek için :-) kabul etmek – ProfK

+0

Keşke hata ayıklamak için proje çıktı türünü (konsol/pencere) belirtmenin bir yolu olsaydı ve ayrı olarak bırakılırdı. Parametreleri hata ayıklamak için -console parametresini eklemeyi denedim, ancak aynı sonucu elde ediyorum. – nurettin

İlgili konular