वर्तमान में हम अपनी WCF सेवा डिजाइन और एक बात है कि मुझे परेशान कर रहा है की समीक्षा कर रहे हैं फैसला है के बीच प्रति कॉल और प्रति सत्र सेवाएं। मेरा मानना है कि मैं दोनों के पीछे अवधारणा को समझता हूं, लेकिन मुझे वास्तव में पे-कॉल सेवाओं का लाभ नहीं दिख रहा है। मैं समझता हूं कि प्रति-कॉल सेवाओं का उपयोग करने के लिए प्रेरणा यह है कि एक डब्ल्यूसीएफ सेवा केवल कॉल के जीवन के लिए एक सर्वर ऑब्जेक्ट रखती है जिससे सेवा आवृत्ति द्वारा महंगी संसाधन आयोजित किया जाता है, लेकिन मेरे लिए उपयोग करने के लिए यह बहुत आसान है अधिक ओओ-जैसे प्रति-सत्र मॉडल जहां आपका प्रॉक्सी ऑब्जेक्ट उदाहरण हमेशा एक ही सर्वर ऑब्जेक्ट इंस्टेंस पर corrisponds और मैन्युअल रूप से किसी भी महंगी संसाधन को संभालता है।WCF: प्रति-कॉल और प्रति सत्र सेवाओं ... जरूरत समझाने कि प्रति कॉल सार्थक
उदाहरण के लिए, मैं जोड़ने, अपडेट करने हटाएँ, उस पर तरीकों चयन युक्त CRUD सेवा है का कहना है। यह सर्वर ऑब्जेक्ट कन्स्ट्रक्टर में डेटाबेस कनेक्शन ("महंगी संसाधन") के साथ प्रति-कॉल सेवा के रूप में किया जा सकता है। वैकल्पिक रूप से यह एक सीआरयूडी विधि के भीतर एक डेटाबेस कनेक्शन के साथ एक प्रति सत्र सेवा हो सकती है और बंद हो सकती है।
मेरे लिए यह कोई अलग संसाधन बुद्धिमान है और यह के रूप में ग्राहक आश्वासन दिया जा सकता प्रोग्रामिंग मॉडल सरल बनाता है कि वे हमेशा अपने प्रॉक्सी के लिए एक ही सर्वर वस्तु है: किसी भी में महंगी राज्य वहाँ कॉल के बीच हो सकता है कि बनाए रखा है और यह निर्धारित करने के तरीकों पर किसी भी अतिरिक्त पैरामीटर की आवश्यकता नहीं है कि सेवा द्वारा डेटा को पुनर्प्राप्त किया जाना चाहिए जब यह एक नई सर्वर ऑब्जेक्ट को फिर से चालू कर रहा है (जैसा कि प्रति-कॉल के मामले में)। यह कक्षाओं और वस्तुओं का उपयोग करने जैसा है, जहां वही संसाधन प्रबंधन समस्याएं लागू होती हैं, लेकिन हम किसी ऑब्जेक्ट पर मौजूद प्रत्येक विधि कॉल के लिए नए ऑब्जेक्ट उदाहरण नहीं बनाते हैं!
तो मुझे प्रति-कॉल मॉडल के साथ क्या याद आ रही है?
धन्यवाद
मैं लोड संतुलन और रूटिंग बारे में ज्यादा पता नहीं है, लेकिन नहीं जानते हुए भी कैसे अपने ग्राहकों को अपनी प्रोक्सी का उपयोग कर के मामले में, मेरी एक ही तर्क लागू होता है: कोड अपने सर्वर महंगा संसाधनों पर ऐसा है तो यह शामिल नहीं है धारण करने के लिए नहीं वस्तुओं इससे कोई फर्क नहीं पड़ता कि क्लाइंट प्रॉक्सी बंद नहीं करता है। यह भी, मैं क्या Juval Lowys WCF किताब में पढ़ा है के साथ बाधाओं जहां यह कहा गया है "अगर एक प्रति कॉल सेवा सही मायने में राज्यविहीन थे पर हो रहा है। पहली जगह में प्रति कॉल की कोई जरूरत नहीं होगी यह है क्योंकि सेवा ने कहा है कि आपको प्रति-कॉल मोड की आवश्यकता है। " भार संतुलन/रूटिंग के अलावा, मुझे अभी भी कोई अंतर नहीं दिख रहा है। – MrLane
भेदभाव स्केलेबिलिटी पर अधिक खड़ा है, लेकिन यदि वे विचार नहीं हैं तो मैं उपरोक्त आपकी टिप्पणी से सहमत हूं। एक भारी बोझ के सर्वर पर, आपकी सेवा विभिन्न ग्राहकों से 5 मिनट में 10k बार कहा जाता है सत्र विन्यास प्रति में, कहते हैं, मेजबान इस 10k सत्र वस्तु जीवित है और उनके पट्टा राज्य के लिए पूलिंग रखने के लिए की आवश्यकता होगी। यह स्पष्ट रूप से सर्वर की स्मृति और प्रदर्शन पर ओवरहेड होगा। –