2009-07-21 19 views
5

मैंने हाल ही में अपने web.config फ़ाइल में कुछ नामस्थान जोड़े हैं ताकि मेरे सभी एएसपीएक्स पेज प्रत्येक एएसपीएक्स पेज पर आयात विवरण जोड़ने की आवश्यकता के बिना विभिन्न स्थिरांक और enums का संदर्भ दे सकें। इसे जोड़ने के बाद, अब एएसएमएक्स वेब सेवा का परीक्षण करने की कोशिश करते समय हमें एक त्रुटि मिल रही है। ऐसा लगता है कि wsdl पीढ़ी के दौरान हम निम्न त्रुटि मिलती है:रनटाइम संकलन के दौरान संदिग्ध संदर्भ त्रुटि

CS0104: 'Message' is an ambiguous reference between 'System.Web.Services.Description.Message' and 'InsTech.ForeSight.Message'

हालांकि इस शोध, मुझे पता चला है कि DefaultWsdlHelpGenerator.asmx क्रम संकलन के दौरान कहा जाता है और वहाँ वहाँ में एक विधि निम्नलिखित हस्ताक्षर किया है:

void WriteSoapMessage(MessageBinding messageBinding, Message message, bool soap12) { 

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

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

किसी भी मदद की सराहना की जाएगी। धन्यवाद केविन

उत्तर

3

अपने कोड के नाम स्थान उपनाम का उपयोग करें और उपयोग करें कि उन दोनों के बीच अलग करने के लिए कर सकते हैं:

using ourOwn=our.own.namespace; 

और ourOwn.Message के रूप में अपने संदेश वर्ग को देखें। वह टकराव से बच जाएगा।

+1

कृपया नीचे दी गई मेरी टिप्पणी देखें। मुझे यह स्पष्ट करना चाहिए था कि WriteSoapMessage एक ऐसा फ़ंक्शन नहीं है जिसे मैंने लिखा था लेकिन यह .NET ढांचे का हिस्सा है। – Kevin

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