मैं डब्ल्यूसीएफ 4.0 में कुछ रीस्टफुल सेवाएं विकसित कर रहा हूं। मैं नीचे के रूप में एक विधि है:WCF में URITemplate में वैकल्पिक क्वेरी स्ट्रिंग पैरामीटर?
[OperationContract]
[WebGet(UriTemplate = "Test?format=XML&records={records}", ResponseFormat=WebMessageFormat.Xml)]
public string TestXml(string records)
{
return "Hello XML";
}
तो अगर मैं http://localhost:8000/Service/Test?format=XML&records=10 करने के लिए अपने ब्राउज़र नेविगेट करें, फिर सब कुछ के रूप में exepcted काम करता है।
हालांकि, मैं http://localhost:8000/Service/Test?format=XML पर नेविगेट करने में सक्षम होना चाहता हूं और URL के "& रिकॉर्ड्स = 10" भाग को छोड़ना चाहता हूं। लेकिन अब, मुझे सेवा त्रुटि मिलती है क्योंकि यूआरआई अपेक्षित यूआरआई टेम्पलेट से मेल नहीं खाता है।
तो मैं अपने कुछ क्वेरी स्ट्रिंग पैरामीटर के लिए डिफ़ॉल्ट कैसे कार्यान्वित करूं? उदाहरण के लिए मैं "रिकॉर्ड्स" को डिफ़ॉल्ट रूप से डिफ़ॉल्ट करना चाहता हूं यदि वह भाग क्वेरी स्ट्रिंग को छोड़ दिया गया है।
में अपने डिफ़ॉल्ट मान सेट करना सुनिश्चित करें। हालांकि, अगर मैं इसके खिलाफ यूनिट परीक्षण चलाने की कोशिश करता हूं, तो यह अब काम नहीं करता है क्योंकि यूनिट टेस्ट में WebOperationContext नहीं है। मैंने कुछ उदाहरण देखे, लेकिन क्या किसी के पास WebOperationContext को नकल करने का एक सरल उदाहरण है? – Shafique
गूगलिंग "मॉक वेबऑपरेशन कॉन्टेक्स्ट" का प्रयास करें। ऐसा करने के तरीके पर विभिन्न विचार हैं। – luksan
आदमी को +1 दें, उसका समाधान काम करता है! यहाँ, मैं शुरू करूंगा। – EdgarVerona