2009-11-03 14 views
10

काम नहीं कर रहा है मैं विजुअल स्टूडियो 2008 का उपयोग कर रहा हूं और एक डब्ल्यूसीएफ क्लाइंट डब्ल्यूसीएफ सेवा के खिलाफ काम कर रहा हूं। वे दोनों एक ही विजुअल स्टूडियो समाधान में स्थित हैं। मेरे डब्ल्यूसीएफ अनुबंध में बदलाव करने के बाद, मैं ग्राहक पर सेवा संदर्भ अपडेट करना चाहता हूं ताकि अनुबंध में किए गए परिवर्तन प्रॉक्सी में भी किए जाएंगे।अद्यतन सेवा संदर्भ

मेरी समस्या यह है कि प्रॉक्सी कोड पुन: उत्पन्न नहीं होता है।

जब मैं सेवा संदर्भ अद्यतन करने के लिए चुनते हैं, तो निम्न होता है:

  1. शीर्षक के साथ एक संवाद "अपडेट सेवा संदर्भ 'नाम के- संदर्भ'" दिखाया गया है। इस संवाद में प्रगति पट्टी है।
  2. प्रगति बार चलता है और संवाद में स्थिति पाठ "अपडेट कर रहा है विन्यास"
  3. प्रगति बार में थोड़ा और अधिक चलता है, और स्थिति पाठ chnaged है को बदलकर "विन्यास पूरा अद्यतन"

संवाद करने के लिए पाठ उत्पन्न नहीं करता है "जेनरेटिंग \ कुछ \" (सटीक शब्द याद नहीं कर सकता) जिसे मैं तेज़ कर दूंगा।

यदि मैं सेवा संदर्भ हटा देता हूं और इसे फिर से जोड़ता हूं, प्रॉक्सी ठीक से उत्पन्न होता है। मैं पहले की तरह सटीक सेटिंग्स का उपयोग कर सेवा जोड़ता हूं, इसलिए मुझे नहीं लगता कि यह एक समस्या है जिसे मैं क्लाइंट पर सेवा संदर्भ कॉन्फ़िगरेशन को बदलकर हल कर सकता हूं।

एक बात मुझे संदेह है कि समस्या यह हो सकती है कि मैंने डिफ़ॉल्ट wsHttp बाइंडिंग को app.config में बदल दिया है। मैंने डिफ़ॉल्ट एंडपॉइंट्स का नाम बदल दिया है। इसका कारण यह है कि मुझे एक से अधिक एंडपॉइंट की आवश्यकता है और एक को 'कुछ-डिफ़ॉल्ट नाम' नाम दिया गया है और एक मेरे नाम से ही भ्रमित है।

सेवा को हटाने और इसे फिर से जोड़ने में समस्या यह है कि विजुअल स्टूडियो app.config (अन्य चीजों के साथ) में एक नया बाध्यकारी जोड़ता है जो वहां नहीं होना चाहिए।

किसी ने भी इस समस्या को पहले देखा है? किसी को इसका समाधान पता है?

उत्तर

6

जब हम इस समस्या यह आम तौर पर इन त्रुटियों से एक रहा है पड़ा है:

  • अनुबंध का आकार बढ़ गया है, और अब इतनी बड़ी है कि WCF विन्यास यह स्थानांतरित होने की अनुमति नहीं देता है।
  • डब्ल्यूसीएफ इंटरफेस में एक नई कक्षा को जोड़ा गया है और उस वर्ग को धारावाहिक के रूप में चिह्नित नहीं किया गया है।
  • एक संकलन त्रुटि है कि निर्माण से कोड बंद हो जाता है नहीं है और यह इसलिए पुराने dll
+8

दुर्भाग्यवश उनमें से कोई भी मुझ पर लागू नहीं होता है। जब मैं संदर्भ हटा देता हूं और इसे फिर से जोड़ता हूं तो यह ठीक काम करता है। अगर अनुबंध इतना बड़ा था या डब्ल्यूसीएफ अनुबंध में कोई त्रुटि थी, तो यह हटाए जाने/जोड़ने के बाद काम नहीं करेगा। – Nitramk

1

मेरे समस्या यह है कि मैं ही नाम के दो तरीकों था उपयोग करता है। सब ठीक हो गया, लेकिन मैं सेवा संदर्भ अद्यतन नहीं कर सका। जब मैंने केवल डब्ल्यूसीएफ सेवा शुरू करने की कोशिश की, तो त्रुटि पॉप अप हो गई।

+0

मुझे यह समस्या भी थी। जब आप सेवा प्रोजेक्ट बनाते हैं तो संकलक शिकायत नहीं करता है लेकिन उपभोक्ता प्रोजेक्ट में सेवा संदर्भ अपडेट नहीं होगा। मैंने देखा कि यदि 'आपकी सेवा होस्ट की गई है' तो अपडेट होने पर पॉपअप प्रकट नहीं होता है तो अपडेट या तो काम नहीं करेगा। –

1

मेरी त्रुटि यह थी कि मैं ऑपरेशन कंट्रैक्ट विशेषता को जोड़ना भूल गया।

+0

यह याद करना आसान है। –

3

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

5

मैं निम्नलिखित शर्तों के साथ इस समस्या हुई:

  1. हमारे वर्कस्टेशन किसी सक्रिय निर्देशिका डोमेन से जुड़े हैं (लगभग सब कुछ विंडोज प्रमाणीकरण का उपयोग करता है)
  2. सेवा संदर्भ मैं कोशिश कर रहा हूँ अपडेट लोकहोस्ट पर होस्ट किया गया है, और आईआईएस एक्सप्रेस के तहत चल रहा है (इसलिए एप्लिकेशन पूल उपयोगकर्ता डेवलपर के व्यक्तिगत डोमेन उपयोगकर्ता खाते के रूप में चल रहा है)
  3. अन्य डेवलपर ने हाल ही में मेरे प्रोजेक्ट के संदर्भ को जोड़ा या अपडेट किया है।

एक ही रास्ता मैं पता लगा है इस मुद्दे को वैकल्पिक हल के लिए कैसे (आप सभी फ़ाइलों को दिखाने के लिए परियोजना दृश्य स्टूडियो में यह देखने के लिए के लिए की आवश्यकता होगी) है कि सेवा में संदर्भ के लिए configuration.svcinfo फ़ाइल को संपादित करने के लिए है, का पता लगाने निम्नलिखित खंड:

userPrincipalName value="[email protected]" 

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

+0

मेरे लिए काम किया। महान आदमी!! धन्यवाद। – Mayeed

0

मैं जानता हूँ कि इस समाधान देर थोड़ा है, लेकिन कोई सफलता के साथ तैनात समाधान की कोशिश कर के बाद, इस काम किया:

जब आप एक WebService बनाने के लिए, यह एक .dll फ़ाइल है कि आप अपने सेवा संदर्भ के रूप में संदर्भ उत्पन्न करता है। यह .dll है (जैसा कि सबसे अधिक पता है) हर बार जब आप एसवीसी फ़ाइल में परिवर्तन करते हैं तो पुनर्निर्मित नहीं होते हैं। यदि आप जाते हैं और वेब सेवा .dll फ़ाइल की तिथि संशोधित संपत्ति देखते हैं, तो आप इसे देख सकते हैं, मेरे मामले में यह तीन घंटे पुराना था!

मेरा समाधान सेवा संपर्क में उचित परिवर्तन करना, इसे सहेजना और प्रोजेक्ट को फिर से बनाना था जिससे यह सभी .dll को सेवा संपर्क फ़ाइल (.svc) में किए गए परिवर्तनों को दर्शाता है।

इसके बाद, क्लाइंट ऐप पर सेवा संदर्भ अपडेट करें, और परिवर्तन स्पष्ट हैं।

  • हुकुम
1

हाइलाइट सक्रिय प्रोजेक्ट, F5 VisualStudio में इसे चलाने के लिए के रूप में सेवा है, यह सेवा परीक्षण ऐप्लिकेशन में शुरू कर देंगे। डीबगिंग रोको। फिर अपने सेवा संदर्भ को अपडेट करने का प्रयास करें - मेरे लिए काम किया। कि हल करने के लिए

+0

यह मेरे लिए काम करता है, .svc फ़ाइल पर राइट-क्लिक किया गया, चयनित आईई पर क्लिक करें। पृष्ठ बंद कर दिया, फिर संदर्भ अद्यतन किया और यह काम किया। नील – Neill

1

दो आसान चरणों:

  1. भागो सेवा है, तो यह बंद करो।

  2. अद्यतन सेवा संदर्भ।

1

मुझे यह समस्या भी थी। सेवा संदर्भ हटा दिया और इसे फिर से बनाया।

+0

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

0

मुझे एक ही समस्या थी। डेटा अनुबंधों में से कुछ को संशोधित किया गया। "सेवा संदर्भ अद्यतन करें" का प्रयास किया और परिवर्तन नहीं देखा। छोड़ दिया और सेवा फिर से जोड़ा। क्लाइंट में कोड लिखते समय भी बदलाव नहीं देखा। प्रतिबिंबक के साथ अपने ग्राहक को खोल दिया और देखा कि सेवा के प्रकार में बदलाव आया था! तो इंटेलिजेंस अभी भी पुराने गुण क्यों दिखा रहा था?विजुअल स्टूडियो को पुनरारंभ किया गया और संशोधनों ने अंततः इंटेलिजेंस में दिखाया।

0

मैं इसे GIT के कारण हुई थी संघर्ष मर्ज मेरे द्वारा इस एक ही समस्या थी,, मैं अपने csproj फ़ाइल

<ItemGroup> 
    <None Include="Service References\<SERVICE NAME>\Reference.svcmap"> 
     <Generator>WCF Proxy Generator</Generator> 
     <LastGenOutput>Reference.cs</LastGenOutput> 
    </None> 
    </ItemGroup> 

मैं Reference.svcmap

की लाइन onder इस जोड़ लिया है से निम्नलिखित कोड याद आ रही थी
0

इस प्रकार की समस्याओं का एक और समाधान यह है कि यदि आपके नेमस्पेस संदर्भित परियोजनाओं में उलझ जाते हैं जो दोनों सेवा का उपभोग करते हैं। तो:

PROJECTA - खपत serviceÃ

ProjectB - serviceà खपत

आप serviceà बदल सकते हैं और ProjectB अद्यतन करते हैं PROJECTA

के संदर्भ में है, कभी कभी नामस्थान सेवा के PROJECTA के संस्करण को देखने के लिए बदल सकते हैं कर सकते हैं।

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