2013-03-22 7 views
17

मुझे उस प्रोजेक्ट में टॉपशेल्फ़ का उपयोग करने की आवश्यकता है, जिसमें मुझे उम्मीद है कि एक सरल प्रश्न है। जब मैं HostFactory.Run का उपयोग कर रहा हूं, तो सब कुछ ठीक काम करता है, लेकिन मैंने सोचा कि यह फ़ंक्शन पर नाम पढ़कर HostFactory.New का उपयोग करना अधिक उचित लगता है और इसका उपयोग यहां किया जाता है: http://docs.topshelf-project.com/en/latest/configuration/config_api.htmlHostFactory.Run और HostFactory के बीच क्या अंतर है। नया

हालांकि अधिक सरल उदाहरण में, http://docs.topshelf-project.com/en/latest/configuration/quickstart.html, HostFactory.Run का उपयोग HostFactory.New से किया गया है। तो अंतर क्या है?

+0

स्रोत देखें - https://github.com/phatboyg/Topshelf/blob/master/src/Topshelf/HostFactory.cs – stuartd

+1

@stuartd, धन्यवाद। तो मूल रूप से नया एक मेजबान बनाता है लेकिन रन बनाता है और इसे चलाता है। –

उत्तर

17

Run काफी बस शामिल हैं:

return New(configureCallback).Run(); 

तो Run बस सुविधा विधि के बजाय बस के रूप में New करता है उदाहरण बनाकर बनाने के लिए और तुरंत चलाने के उदाहरण है।

6

HostFactory.Run सभी अपवाद खाएंगे, इसलिए यह चुप हो जाएगा, और आप कभी नहीं जानते कि इसका क्या कारण है।

HostFactory.New

अपवाद फेंक देते हैं।

+2

नेक्रो की तरह, लेकिन इसे एक अद्यतन की जरूरत है। बस इस समस्या में भाग गया जहां "रन" कुछ भी फेंकने के बिना निष्पादित होगा लेकिन प्रक्रिया वास्तव में कभी नहीं चलती थी। एसओ के लिए सच है, उपयोगी उत्तर नीचे आ गए हैं। –

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