मैं spec के लिए एक वेब सेवा लिखने की कोशिश कर रहा हूं और इस विधि के आधार पर एक अलग प्रतिक्रिया निकाय की आवश्यकता है कि विधि सफलतापूर्वक पूर्ण हो या नहीं। मैंने दो अलग-अलग डेटाकंट्रैक्ट कक्षाएं बनाने की कोशिश की है, लेकिन मैं उन्हें कैसे वापस कर सकता हूं और उन्हें सही ढंग से क्रमबद्ध कर सकता हूं?क्या डब्ल्यूसीएफ आरईएसटी विधि से विभिन्न प्रकारों को वापस करने का कोई तरीका है?
उत्तर
जवाब हाँ है, लेकिन यह मुश्किल है और आप अपने इंटरफेस पर मजबूत टाइपिंग खोना पर। यदि आप स्ट्रीम वापस करते हैं तो डेटा xml, टेक्स्ट या यहां तक कि एक बाइनरी छवि भी हो सकता है। डेटाकंट्रैक्ट कक्षाओं के लिए, आप डेटाकंट्रैक्टसेरियलाइज़र का उपयोग कर डेटा को क्रमबद्ध करेंगे।
अधिक जानकारी के लिए BlogSvc और विशेष रूप से RestAtomPubService.cs WCF service देखें। नोट, वह स्रोत कोड आपको यह भी दिखाएगा कि विभिन्न प्रकार के डेटा को डब्ल्यूसीएफ आराम विधि में कैसे स्वीकार किया जाए, जिसके लिए सामग्री प्रकार मैपर की आवश्यकता होती है।
यदि आप एक्सएमएल आधारित बाध्यकारी का उपयोग कर रहे हैं, तो मेरा मानना है कि ऐसा करने का कोई तरीका नहीं है। उस स्थिति में एक साधारण समाधान में विफलता होने पर संदेश ध्वज का हिस्सा होना चाहिए, और आवश्यकता होने पर विफलता जानकारी को कहीं भी स्टोर करना होगा। एक JSON बाध्यकारी के लिए आप किसी ऑब्जेक्ट को लौटने वाली विधि का उपयोग करने में सक्षम हो सकते हैं, फिर दो अलग-अलग प्रकार की ऑब्जेक्ट्स लौटा सकते हैं। अगर मुझे सही याद है (जो दुर्लभ है), यह संभव है क्योंकि ऑब्जेक्ट serialization विशेषताओं के साफ होने पर जावास्क्रिप्टसेरियलाइज़र क्लास प्रतिबिंब का उपयोग करता है।
यह इंगित करने का सबसे अच्छा तरीका है कि आपकी डब्लूसीएफ वेब सेवा विफल हो गई है, जो फॉल्टएक्सप्शन फेंकना होगा। आपकी सेवा web.config फ़ाइलों में सेटिंग्स हैं जो त्रुटि के हिस्से के रूप में संपूर्ण गलती संदेश क्लाइंट को पास करने की अनुमति देती हैं।
एक और दृष्टिकोण उसी आधार वर्ग या इंटरफ़ेस से आपके दोनों परिणामों को प्राप्त करने के लिए हो सकता है। सेवा आधार प्रकार का एक उदाहरण वापस कर देगा। फिर आप क्लाइंट को सूचित करने के लिए KnownType विशेषता का उपयोग कर सकते हैं कि कई प्रकार लौटाए जा सकते हैं। इसके बारे में सोचने के लिए आओ, ऑब्जेक्ट को मूल प्रकार के रूप में उपयोग करना संभव हो सकता है, लेकिन मैंने कोशिश नहीं की है।
उन दृष्टिकोणों में से किसी एक को विफल करना, आप एक कस्टम परिणाम ऑब्जेक्ट बना सकते हैं जिसमें परिणाम और त्रुटि गुण दोनों शामिल हों और आपका ग्राहक यह तय कर सके कि किस प्रकार की कार्रवाई की जानी चाहिए। मुझे सिल्वरलाइट 2 के लिए इस दृष्टिकोण का उपयोग करना पड़ा क्योंकि बीटा 2 अभी तक पूरी तरह से गलती अनुबंधों का समर्थन नहीं करता है। यह सुंदर नहीं है, मैं सामान्य रूप से इसकी अनुशंसा नहीं करता, लेकिन अगर यह काम करने का एकमात्र तरीका है या आपको लगता है कि यह आपकी स्थिति के लिए सबसे अच्छा तरीका है ...
यदि आपको ADO.NET डेटा सेवाओं के साथ समस्याएं आ रही हैं, मेरे पास कम अनुभव है।
Here's some information को लागू करने FaultContracts
- 1. विधि से बेनामी प्रकार वापस करने का कोई तरीका है?
- 2. क्या YQL को HTML वापस करने का कोई तरीका है?
- 3. डब्ल्यूसीएफ आरईएसटी
- 4. क्या एसिंक विधि का परीक्षण करने का कोई तरीका है?
- 5. डब्ल्यूसीएफ: क्या एक्सटेंशनडेटा फ़ील्ड को निकालने का कोई तरीका है?
- 6. डब्ल्यूसीएफ आरईएसटी
- 7. क्या जावा विधि को चिह्नित करने का कोई तरीका है (जैसे एनोटेट) जावा विधि कभी वापस नहीं आती है?
- 8. क्या कोई विधि सिंक्रनाइज़ करने का एक ग्रोवी तरीका है?
- 9. क्या एक विस्तार विधि लिखने का कोई तरीका है जो कई प्रकारों पर लागू होता है?
- 10. डब्ल्यूसीएफ/आरईएसटी
- 11. विधि से दो मान वापस करने का सबसे अच्छा तरीका क्या है?
- 12. पायथन में विभिन्न प्रकारों को संभालने का कैननिक तरीका क्या है?
- 13. डब्ल्यूसीएफ आरईएसटी वेब सेवा
- 14. क्या एक हैशटेबल वैरिएबल में एकाधिक डेटा प्रकारों को स्टोर करने का कोई तरीका है?
- 15. क्या StorageFile.CopyAsync() को रद्द करने का कोई तरीका है?
- 16. डब्ल्यूसीएफ + आरईएसटी: अनुरोध डेटा कहां है?
- 17. किसी निजी विधि को आमंत्रित करने का कोई तरीका?
- 18. डब्ल्यूसीएफ आरईएसटी अनुरोधइंटरसेप्टर प्रमाणीकरण
- 19. डब्ल्यूसीएफ आरईएसटी सेवा: InstanceContextMode.PerCall
- 20. वीबीएनईटी: क्या संख्या प्रकारों के लिए डिफ़ॉल्ट से कुछ भी नहीं रखने का कोई तरीका है?
- 21. क्या रननेबल को पैरामीटर पास करने का कोई तरीका है?
- 22. क्या पाइथन में आउटपुट पैरामीटर के माध्यम से एक मूल्य वापस करने का कोई तरीका है?
- 23. क्या विभिन्न प्लेटफार्मों पर एक एप्लिकेशन को स्थानांतरित करने का कोई तरीका है
- 24. मॉकिटो: क्या स्टब किए गए विधि के वापसी मूल्य को कैप्चर करने का कोई तरीका है?
- 25. क्या ऐसा करने का कोई तरीका है?
- 26. क्या वापस पोस्ट करते समय क्वेरी स्ट्रिंग पैरामीटर को साफ़ करने का कोई तरीका है?
- 27. क्या कोई मौजूदा संपत्ति या विधि तक पहुंचने का प्रयास करने का कोई तरीका है?
- 28. डब्ल्यूसीएफ आरईएसटी सेवा - 401 अनधिकृत
- 29. क्या PHP फ़ंक्शन में HTML को वापस करने का कोई तरीका है?
- 30. जावा प्रकारों से वापस MATLAB प्रकारों में स्थानांतरित करना
मुझे स्रोत में उस फ़ाइल (RestAtomPubService.cs) नहीं मिली, क्या मुझे याद आया या इसे हटा दिया गया है? धन्यवाद। –
हम बाद में आरईएसटी के लिए डब्ल्यूसीएफ से चले गए हैं क्योंकि यह हमारी जरूरतों के लिए पर्याप्त लचीला नहीं था। मुझे लगता है कि फाइल अभी भी इतिहास में होनी चाहिए। – JarrettV