अब मैं .NET Framework (.asmx फ़ाइलों, WCF नहीं) का उपयोग कर वेब सर्विसेज के साथ घूम रहा हूं। मैं सोच रहा हूं कि उपयोगकर्ता को यह बताने का सबसे अच्छा अभ्यास क्या है कि विधि कॉल में कुछ प्रकार की व्यवसाय-त्रुटि हुई है।वेब सेवा में त्रुटि प्रबंधन के लिए सर्वोत्तम अभ्यास
मेरे छोटे से परीक्षण दर-मामला:
मैं जांच जो एक केंद्रीय सर्वर के साथ रजिस्टर करने की आवश्यकता को मापने है। प्रत्येक जांच में एक अलग भौतिक पता होना चाहिए। रजिस्टर करने के लिए, वे (एक वेब सेवा के माध्यम से) बुलाना चाहिए:
[WebMethod]
public void RegisterReadingStation(out Guid sessionId, Int64 physicalAddress)
अब, हस्ताक्षर पत्थर में सेट नहीं है - वास्तव में, कि क्या मैं यह पता लगाने की कोशिश कर रहा हूँ है। :) मुझे किसी भी तरह से जांच को सतर्क करने की आवश्यकता है अगर वह पहले से ही लिया गया भौतिक पता का उपयोग करके खुद को पंजीकृत करने का प्रयास कर रहा है।
- एक SoapException जानकारी युक्त फेंक:
तरह से मैं इसे देख, मैं कुछ संभावनाएं मिला है। हालांकि, एक स्ट्रिंग :: संदेश वास्तव में प्रोग्रामेटिक चेक करना आसान नहीं है।
- कुछ प्रकार के मूल्य-वर्ग का उपयोग वापसी पैरामीटर (या यहां तक कि सरल, एक enum) के रूप में करें। अगर मैं ऐसा करता हूं, तो मुझे लगता है कि मुझे सर्वर/क्लाइंट पर कक्षा को मैन्युअल रूप से क्रमबद्ध/deserialize करना था?
इस बारे में कोई विचार?
ईक, सी-दिनों में वापस। इस दृष्टिकोण के साथ समस्या यह है कि यह बहुत लचीला नहीं है। आप कस्टम-त्रुटि संदेश जैसे स्टैकट्रैक या संदेश या जोड़ नहीं सकते हैं .. मैं देख सकता हूं कि यह आसान और बहु-अनुकूल तरीका होगा हालांकि। – cwap
मेरे पास वेब सेवाओं के लिए एक अधिग्रहण प्रशंसा है जो सादगी के पक्ष में गलती है। –
हालांकि यह सबसे ज्यादा वोट नहीं दिया गया जवाब है, मैं इसे स्वीकार करूंगा। मुझे लगता है कि "वेबसाइटों का उपयोग करने के लिए सरल होना चाहिए" इसके पहलू, इसलिए यह है कि बीमार अब के लिए चिपक गया है :) – cwap