2015-02-17 9 views
6

मैं अपनी सेवा का परीक्षण करने के लिए एक दोहरी सेवा/कंसोल मॉडल का उपयोग कर रहा हूं। सुर्खियों में कोड है: "। पर्याप्त नहीं भंडारण इस आदेश पर कार्रवाई करने के लिए उपलब्ध है"`कंसोल। रीडलाइन 'के लिए पर्याप्त संग्रहण उपलब्ध नहीं है।

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

जब मैं, डीबगर के अंतर्गत अनुप्रयोग चलाने के लिए F5 का उपयोग कर, लाइन Console.ReadLine(); मैं एक System.IO.IOException पाने पर, साथ

ReadLine का एकमात्र उद्देश्य तब तक इंतजार करना है जब तक कोई ऐप को समाप्त करने के लिए कोई कुंजी दबाए, इसलिए मैं कल्पना नहीं कर सकता कि डेटा कहां से आ रहा है, उसमें कितना संग्रहण है।

उत्तर

9

यह एक सेवा है, और इसका आउटपुट संभवतः विंडोज अनुप्रयोग पर सेट है, आउटपुट को कंसोल एप्लिकेशन में बदलें और इसे दूर जाना चाहिए।

+0

आपको बहुत बहुत धन्यवाद। मैंने इस तरह के छोटे उपद्रवों पर इतना समय बर्बाद कर दिया है मुझे पूरी रात वास्तविक कोड के साथ चलना है। – ProfK

+1

स्वीकार करने के लिए 2 मिनट की सीमा की प्रतीक्षा :-) – ProfK

+0

मेरी इच्छा है कि डीबग के लिए प्रोजेक्ट आउटपुट प्रकार (कंसोल/विंडोज) निर्दिष्ट करने और अलग से रिलीज़ करने का कोई तरीका था। मैंने पैरामीटर डीबग करने के लिए -console पैरामीटर जोड़ने का प्रयास किया लेकिन मुझे एक ही परिणाम मिल गया। – nurettin

संबंधित मुद्दे