2015-02-17 20 views
6

Sto utilizzando un modello dual service/console per testare un mio servizio. Il codice sotto i riflettori è: "insufficiente archiviazione è disponibile per elaborare questo comando"Spazio di archiviazione insufficiente per `Console.ReadLine``.

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); 
    } 
} 

Quando eseguo l'applicazione nel debugger, con F5, sulla linea Console.ReadLine(); ho un System.IO.IOException, con

L'unico scopo di ReadLine è attendere fino a quando qualcuno preme un tasto per terminare l'app, quindi non riesco a immaginare da dove provengano i dati che richiedono così tanto spazio.

risposta

9

Questo è un servizio, e il suo output è probabilmente impostato su Applicazione Windows, cambia l'output in Applicazione Console e questo dovrebbe andare via.

+0

Grazie mille. Ho sprecato così tanto tempo in piccoli fastidi come questi che devo passare tutta la notte ad andare avanti con il codice reale. – ProfK

+1

In attesa del limite di 2 minuti da accettare :-) – ProfK

+0

Vorrei che esistesse un modo per specificare separatamente il tipo di output del progetto (console/windows) per il debug e il rilascio. Ho provato ad aggiungere il parametro -console ai parametri di debug ma ottengo lo stesso risultato. – nurettin

Problemi correlati