2011-07-30 20 views
8

मैं एमवीसी 3 में प्रोटोबफ वैल्यूप्रोवाइडर फैक्ट्री को आजमाने और जोड़ने की कोशिश कर रहा था ताकि मैं एमआईएमई प्रकार को चुन सकूं और कच्चे डेटा को क्रिया पैरामीटर के लिए वस्तुओं में deserialize कर सकता हूं। मैं डिफ़ॉल्ट जेसन सीरिएलाइज़र को बदलने के लिए इसका भी उपयोग कर सकता हूं।एएसपी.नेट एमवीसी 3 पर कस्टम ValueProviderFactories जोड़ना?

JsonValueProviderFactory.cs पर देखकर यह बहुत मुश्किल नहीं होना चाहिए, लेकिन कारखानों को सभी को हार्ड-कोड किया जाना प्रतीत होता है।

Protobuf के लिए मैं, लेकिन एक IValueProvider साथ कुछ करने के लिए सक्षम हो सकता है मैं भी जांच न की हो MVC3 जब यह application/x-protobuf का एक MIME प्रकार प्राप्त करता है अभी तक क्या करता है।

क्या मैं इस बारे में सही तरीके से जा रहा हूं?

अद्यतन

मैं this ब्लॉग पोस्ट है कि एक IValueProvider बनाने के बारे में बात करती है पाया। इसके बाद यह नीचे बताता है कि यह एमसीवी 2 के आसपास बदल गया। उन्होंने कहा कि एक ValueProviderFactory करने के लिए इसे बदल दिया है और कहता है:

ValueProviderFactories.Factories.Add(new HttpCookieValueProviderFactory()); 

लेकिन MVC3 में इस संपत्ति केवल पढ़ा जाता है।

+1

दिलचस्प। मुझे नहीं पता कि एमवीसी क्या करता है, इसलिए मैं जिज्ञासा के साथ इस सवाल का पालन करूँगा। –

उत्तर

2

ऐसा लगता है कि यह केवल पढ़ने के लिए नहीं है और इस प्रकार आप प्रदाताओं जोड़ सकते हैं:

ValueProviderFactories.Factories.Add(new MyValueProviderFactory()); 

मुझे पता है यह मैं अपने आप को जाँच की थी होगा!

मैंने आज कुछ और खोज किया है, और this ब्लॉग पोस्ट का सुझाव है कि DependencyResolverValueProviderFactory का उत्तराधिकारी कोई भी वर्ग पाएगा। मैं निर्भरता संकल्प के लिए एमईएफ का उपयोग कर रहा हूं, इसलिए मैं केवल एक निर्यात विशेषता जोड़ सकता हूं और इसे स्वचालित रूप से उठाया जाएगा।

अब मेरे पास further issue प्रोटोबफ-नेट के लिए एक कस्टम ValueProviderFactory लिख रहा है।

+0

यदि आप कस्टम जेसन वैल्यू प्रदाता को एक कस्टम एक स्वैप करना चाहते हैं तो आप वैल्यू प्रदाताओं को भी हटा सकते हैं। – evanmcdonnal

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