serializing साथ probem मैं इन कक्षाओं की है। अब, अगर मैं ErrorBase के उदाहरण के साथ ResponseFileInquiry.errors भरने, सब कुछ ठीक काम करता है, लेकिन अगर मैं विरासत में मिला प्रकार FileMissingError का एक उदाहरण जोड़ने के लिए, मैं क्रमबद्धता के दौरान एक सेवा पक्ष अपवाद:WCF विरासत में मिला प्रकार
Type 'MyNamespace.FileMissingError' with data contract name 'FileMissingError'
is not expected. Add any types not known statically to the list of known types -
for example, by using the KnownTypeAttribute attribute or by adding them to the
list of known types passed to DataContractSerializer.'
तो serializer क्योंकि भ्रमित हो रही है यह सूची को घोषित प्रकार ऑब्जेक्ट्स (एररबेस) रखने की उम्मीद कर रहा है लेकिन इसे विरासत प्रकार (FileMissingError) ऑब्जेक्ट्स मिल रहा है।
मेरे पास त्रुटि प्रकारों का पूरा समूह है और सूची में उनके संयोजन होंगे, तो मैं इसे काम करने के लिए क्या कर सकता हूं ??? किसी भी जानकारी है कि स्थिर (बहुरूपी रिश्ते तुम यहाँ व्यक्त की है) की तरह पता नहीं किया जा सकता है विशेषताओं के माध्यम से प्रदान की जानी चाहिए
[DataContract]
[KnownType(typeof(FileMissingError))]
public class ErrorBase {}
त्रुटि संदेश राज्यों के रूप में,:
धन्यवाद, ब्लॉग एंट्री में ज्ञात प्रकारों को घोषित करने के सभी संभावित तरीके हैं। – Andrey
मेरे मामले में, KnownType का उपयोग करने से बहुत मदद नहीं मिलती है क्योंकि टाइप एक अलग असेंबली से आ रहा है जिसे मैं संदर्भित नहीं करता हूं। अन्य देवता कक्षाओं को विस्तारित कर रहे हैं जो मेरे पास कुछ डेटा जोड़ने के लिए मेरे डेटाकंट्रैक्ट के लिए है। क्या होगा यदि मैं सिर्फ जो भी व्युत्पन्न वर्ग फेंकना चाहता हूं और बेस क्लास का उपयोग करना चाहता हूं? – brendonparker
यह वह समाधान है जिसका उपयोग मैंने किया था: http: // stackoverflow।कॉम/ए/84143 9 0/2460073 नोट: मुझे क्लाइंटबेस पर ग्राहक डेटाकंट्रैक्टसेरियलाइज़र लागू करना पड़ा – brendonparker