2008-10-23 11 views
8

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

रोल आउट के साथ प्रमुख बाधाएं क्या थीं? प्रदर्शन मुद्दे? किसी भी और सभी युक्तियों की सराहना की!

यदि आप कर सकते हैं तो कृपया कुछ सामान्य आंकड़े और सर्वर कॉन्फ़िगरेशन प्रदान करें!

+0

यह वास्तव में अस्पष्ट है, इसलिए मुझे नहीं लगता कि आपको कोई उपयोगी उत्तर मिलेगा। अधिक विशिष्ट होने का प्रयास करें। –

उत्तर

7

डब्ल्यूसीएफ configuration hell हो सकता है। अपने diagnostics and svcTraceViewer के साथ स्वयं को परिचित करना सुनिश्चित करें, ताकि आप क्रिप्टिक, बेकार अपवादों को पागल हो जाएं। और जेनरेट क्लाइंट के broken implementation of the disposable pattern के लिए देखें।

+0

तकनीकी रूप से बोलते हुए, IDISposable मुद्दे के जेनरेट किए गए ग्राहकों के साथ कुछ लेना देना नहीं है। यह * सभी * डब्ल्यूसीएफ संचार वस्तुओं की "विशेषता" है। तो, यह हैम ... वास्तव में बदतर :) – tomasr

0

डब्ल्यूसीएफ एंटरप्राइज़ सामान के लिए निश्चित रूप से बहुत अच्छा है क्योंकि इसे स्केलेबिलिटी, एक्स्टेंसिबिलिटी, सुरक्षा इत्यादि के साथ डिजाइन किया गया है।

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

WCF सेवाओं के साथ काम निश्चित रूप से वर्ष ASMX सेवा के साथ तुलना में कठिन है, लेकिन एक बार आप कर रहे हैं यह प्रयास के लायक है।

आपूर्ति सर्वर कॉन्फ़िगरेशन आपके लिए उपयोगी नहीं होगा, क्योंकि यह आपके परिदृश्य के लिए फिट करने के लिए है। दाएं बाइंडिंग का उपयोग करना बहुत महत्वपूर्ण है, साथ ही साथ सुरक्षा, सहमति। Wcf का उपयोग करते समय जाने का कोई भी तरीका नहीं है। बस अपनी आवश्यकताओं के बारे में सोचो। क्या आपको कॉलबैक की आवश्यकता है, आपके उपयोगकर्ता क्या हैं? आपको किस तरह की सुरक्षा की आवश्यकता है?

हालांकि, डब्ल्यूसीएफ एंटरप्राइज़ स्केल अनुप्रयोगों के लिए निश्चित रूप से सही तकनीक होगी।

1

जैसा कि पहले से ही कहा गया है, कॉन्फ़िगरेशन दुःस्वप्न और अपवाद गुप्त हो सकते हैं। आप ट्रेसिंग को सक्षम कर सकते हैं और आमतौर पर किसी समस्या का निवारण करने के लिए ट्रेस लॉग व्यूअर का उपयोग कर सकते हैं, लेकिन यह निश्चित रूप से डब्ल्यूसीएफ सेवा की समस्या निवारण के लिए गियर का स्थानांतरण करता है, खासकर जब आप इसे तैनात कर लेते हैं और आपके कोड को निष्पादित करने से पहले आपको समस्याएं आ रही हैं।

मेरे संगठन के भीतर घटकों के बीच संचार के लिए मैंने अपनी सेवाओं और प्रॉक्सी पर [NetDataContract] का उपयोग करके समाप्त किया, जिसके खिलाफ अनुशंसा की जाती है (आप .NET के बाहर प्लेटफ़ॉर्म के साथ एकीकृत नहीं कर सकते हैं और आपको एकीकृत करने के लिए अनुबंध की आवश्यकता होती है) मैंने प्रदर्शन को तारकीय पाया और मेरा समग्र विकास समय इसका उपयोग करके कम हो गया। हमारे लिए यह सही समाधान था।

+0

नेटडाटाकंट्रैक्ट के बजाय, आप डेटाकंट्रैक्टसेरियलाइज़र का उपयोग कर सकते हैं, सभी [डेटाकंट्रैक्ट] विशेषताओं के लिए असेंबली पर प्रतिबिंबित करते हैं, और प्रतिबिंबित ज्ञात प्रकारों में डब्ल्यूसीएफ पास के क्रमबद्ध वर्गों में प्रतिबिंबित करते हैं। यह विरासत को बनाए रखता है और [KnownType] – Steve

3

मुझे हाल ही में एक ऐसी कंपनी के लिए किराए पर लिया गया है जिसने पहले अपने ग्राहक/सर्वर संचार को पारंपरिक एएसपीनेट वेब सेवाओं के साथ संभाला और डेटासेट को पीछे और आगे भेज दिया।

मैंने कोर को फिर से लिखा है, इसलिए अब नेट.सीपी "कनेक्ट" क्लाइंट है ... और सब कुछ वहां से किया जाता है। यह एक सप्ताह के लायक "इन-प्रोडक्शन-सर्विसेज" था ... लेकिन इसके लायक है।

दर्द के अंक हमें खेल में देर से पता लगाना था: 1) डिफ़ॉल्ट थ्रॉटलिंग ने 11 वें उपयोगकर्ता को आगे अवरुद्ध कर दिया (यह केवल 10 को अनुमति देने के लिए डिफ़ॉल्ट है)। 2) डिफ़ॉल्ट "maxBufferSize" को 65k पर सेट किया गया था, इसलिए डाउनलोड करने के लिए आवश्यक पहला बिटमैप सर्वर को क्रैश कर दिया गया है :) 3) अन्य डिफ़ॉल्ट कॉन्फ़िगरेशन (अधिकतम कॉन्फ़िगर कनेक्शन, अधिकतम समवर्ती कॉल इत्यादि)।

सब कुछ, यह बिल्कुल मूल्यवान था ... ऐप सिर्फ अपने अंतर्निहितता को बदलकर बहुत तेज है और अब हमारे पास "कनेक्ट" उपयोगकर्ता हैं ...सर्वर ग्राहकों को संदेश भेज सकता है।

अन्य खूबसूरत लाभ यह है कि, क्योंकि हम जानते हैं कि 100% कनेक्ट है, हम वास्तव में आवेदन स्तर पर हमारी लाइसेंसिंग नीति को लागू कर सकते हैं। इससे पहले (और इससे पहले कि मुझे किराए पर लिया गया था) मेरी कंपनी को बस लॉग करना था, और फिर महीने के अंत में ग्राहकों को कई बार कनेक्ट करने के लिए अतिरिक्त खर्च करना पड़ा।

+0

+1 के सभी दर्द को हटा देता है बस अधिकतमबफर आकार और अन्य डिफ़ॉल्ट का उल्लेख करने के लिए, जब आप किसी सेवा पर पहली बार हिट करते हैं तो डीबग करने के लिए बेहद निराशाजनक होता है जो अन्यथा पूरी तरह से काम करता है। –

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