मैं एक वर्ग है कि [Serializable] के साथ चिह्नित है की है। जब मैं इसे वेब एपीआई से वापस करता हूं तो फ़ील्ड नाम सभी फंकी हैं।ASP.NET वेब एपीआई और [Serializable] वर्ग
आम तौर पर JSON लौटे
[{"OrderId":797 ...
JSON वापस भेज दिया गया [Serializable]
[{"<OrderId>k__BackingField":797 ...
का उपयोग कर मैं इसे serializable कैशिंग के लिए एक BinaryFormatter उपयोग करने के लिए चिह्नित करने के लिए wan't है। कस्टम सीरिएलाइज़र लिखने या एक जुड़वां वर्ग बनाने के लिए कोई अन्य तरीका है जो धारावाहिक नहीं है और दोनों के बीच "कास्ट" में बंदर कोड लिखना है?
((DefaultContractResolver)config.Formatters.JsonFormatter.SerializerSettings.ContractResolver).IgnoreSerializableAttribute = true;
आप के लिए एक बेहतर समाधान से छुटकारा पाने के किया जा सकता है [Serializable] कुल मिलाकर, का उपयोग बंद:
कैसे द्विआधारी फ़ॉर्मेटर मदद कैशिंग करता है? – DarthVader
ऑर्डर बाहरी सिस्टम से हैं और इन्हें अपने एपीआई के माध्यम से दिनांक शून्य से सभी ऑर्डर प्राप्त करने में 10 सेकंड या इससे अधिक समय लगता है। आखिरी कैश की तारीख और वर्तमान तिथि के बीच ऑर्डर प्राप्त करना बहुत तेज़ है, इसे कैश में स्टोर करें और फिर पूरी सूची लौटाएं। – Malako
यह JSON.net [वेब JSI में उपयोग की जाने वाली डिफ़ॉल्ट JSON क्रमबद्धता लाइब्रेरी] के साथ एक सीमा है। http://stackoverflow.com/questions/10143420/why-does-json-net-serialization-fail-with-serializable-and-a-lambda-inside-a-r - यह देखें। आप JSON.NET के नवीनतम संस्करण का उपयोग करने का प्रयास कर सकते हैं या चीज़ों को कैश करने के लिए कुछ और तरीका ढूंढ सकते हैं। – Suhas