5

Google क्रोम और आईई 8 (दूसरों के बीच) एक अलग प्रक्रिया (प्रत्येक सरलीकृत, मुझे पता है) में प्रत्येक टैब (वेब ​​पेज) को अलग करके अधिक विश्वसनीयता/स्थिरता प्रदान करना है।क्रोम/आईई 8 बहु-प्रक्रिया डिज़ाइन, क्या यह .NET में संभव है?

यह कई धागे के बाद अधिक हेवीवेट प्रतीत होता है, लेकिन एक प्रक्रिया में एक दुर्घटना का बड़ा लाभ है जो पूरे आवेदन को नहीं लाता है।

ऐसा लगता है कि कई प्रक्रिया आर्किटेक्चर का उपयोग सर्वर साइड अनुप्रयोगों (उदाहरण के लिए वेब सर्वर) में किया गया है, लेकिन ये समर्पित जीयूआई के बिना प्रक्रियाएं हैं। यह दिलचस्प है कि अब इसे डेस्कटॉप अनुप्रयोगों के उपयोगकर्ता इंटरफेस में नियोजित किया जा रहा है।

मैं Windows फॉर्म .NET अनुप्रयोग कहने में इसे लागू करने के बारे में कैसे जाउंगा? क्या यह भी संभव है?

प्रक्रिया। स्टार्ट() देखने के लिए एक स्पष्ट पहली जगह है, लेकिन नई प्रक्रिया के जीयूआई मेजबान आवेदन के जीयूआई के साथ कड़ाई से एकीकृत नहीं है। यह एक नया स्टैंडअलोन एप्लिकेशन है, मेजबान अनुप्रयोग की उप-नियंत्रण/खिड़की नहीं, क्योंकि यह क्रोम/आईई 8 के साथ है।

अधिक विशेष रूप से (के लिए किसी को भी रुचि स्कॉट Hanselmann IE8 multi-process architecture here के लिए एक अच्छा परिचय लिखा था।।)

[अपडेट]

:

कैसे एक अलग "उप प्रक्रिया" सीधे करने के लिए प्रदान कर सकते हैं "मुख्य प्रक्रिया" के भीतर यूआई? क्या वास्तव में यह हो रहा है, या टिप्पणियों में सुझाव दिया गया था, क्या उप-प्रक्रिया आईपीसी का उपयोग मुख्य प्रक्रिया को इसके लिए प्रस्तुत करने के लिए करती है?

उत्तर

3

.NET में एकाधिक प्रक्रियाओं का उपयोग करने का एक बेहतर विकल्प इसके बजाय एकाधिक ऐपडोमेन का उपयोग करना होगा। इसका केवल एक वास्तविक विंडोज़ प्रक्रिया बनाने का लाभ है, फिर भी कई क्षेत्रों की अतिरिक्त स्थिरता प्रदान करना (यानी एक ऐपडोमेन में एक क्रैश केवल एक ही ले जाएगा, न कि संपूर्ण ऐप)।

इस से जुड़े लागतें हैं, क्योंकि वस्तुओं को ऐपडोमेन-सीमाओं में क्रमबद्ध करने की आवश्यकता है। हालांकि, एक बहु-प्रक्रिया मॉडल की तुलना में विकसित करना आसान हो सकता है।

+0

+1, विशेष रूप से डोमेन के बीच संवाद स्थापित करने की चेतावनियां। कभी-कभी डेवलपर्स की तुलना में यह अधिक महंगा हो सकता है। –

+1

क्या एक ही प्रक्रिया में 2 AppDomains उपयोगकर्ता इंटरफ़ेस को स्वतंत्र रूप से अपडेट कर सकते हैं, यानी अलग-अलग टैब? साथ ही, जैसा कि स्कॉट हंसेलमैन कहते हैं, पूरी प्रक्रिया को एक ऐपडोमेन से नीचे लाने के लिए अभी भी संभव है। – Ash

+0

@Ash मानते हुए एक प्रक्रिया/AppDomain "जीयूआई" प्रक्रिया है, जो अन्य प्रक्रियाओं से आदेश प्राप्त करने और उन्हें प्रतिबिंबित करने के लिए ज़िम्मेदार है; और उन्हें वापस आना, क्यों नहीं? –

5

Google क्रोम इंटरफेस संचार के लिए नामित पाइप का उपयोग कर रहा है।

यहाँ कुछ दिलचस्प दस्तावेजों के होते हैं: http://dev.chromium.org/developers/design-documents

".net" के साथ नामित पाइपों पर

अधिक जानकारी के लिए बस यह गूगल।

@Ash: बच्चे प्रक्रियाओं अलग Windows में चल रहे हैं "डेस्कटॉप" जिसका मतलब है कि कुछ भी प्रदर्शित का कोई तरीका नहीं है कि वे। (डेस्कटॉप एक मुश्किल बात है ...) तो मुझे यह मानना ​​चाहिए कि बच्चे द्वारा प्रस्तुत की जाने वाली सभी चीजें आईपीसी के माध्यम से होनी चाहिए। और फिर मुख्य (?) प्रक्रिया इसे प्रदर्शित करती है।

मैंने पाया कि अलग विंडोज "डेस्कटॉप" बात यहाँ: http://dev.chromium.org/developers/design-documents/multi-process-architecture

+0

यह कोई विचार है कि यह जीयूआई इंटरैक्शन पक्ष को कैसे लागू करता है? – Ash

+0

क्रोम पर उत्कृष्ट लिंक, धन्यवाद, – Ash

+0

आपका स्वागत है। मुझे इसमें बहुत दिलचस्पी है। :) –

1

btw ...dup

देखें: Windows Forms application like Google Chrome with multiple processes (जॉन स्कीट से जवाब के साथ: ओ)

(मैं यह भी जवाब देता है "अधिक विशेष रूप से" भाग लगता है)

+0

फिर से धन्यवाद। मैंने एक मौजूदा प्रश्न की खोज में 5 मिनट बिताए। मैंने "प्रश्न पूछें" टेक्स्टबॉक्स में विभिन्न खिताब भी टाइप किए। ये मेरे अनुभव में बहुत अच्छी तरह से काम नहीं करते हैं, ओह ठीक है। – Ash

+0

मुझे दाईं ओर "संबंधित" बॉक्स पर एक त्वरित नज़र थी: पी –

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