c# - Are there any constants in the .NET framework for the different web method types (GET, PUT, POST, DELETE, HEAD)? -


मैंने एक निश्चिंत WCF सेवा बनाते समय देखा जो कि WebInvoke विशेषता पर विधि पैरामीटर है संवेदनशील (सीएपी आवश्यक)।

ऐसा

  [WebInvoke (method = "Delete")]  

के बराबर नहीं है

  [WebInvoke (method = "DELETE")]  

यह गलती एक प्रोटोकॉल अपेशन :

System.ServiceModel.ProtocolException: रिमोट सर्वर ने एक अप्रत्याशित प्रतिक्रिया लौटाई: (405) विधि को अनुमति नहीं दी गई।

मैं सोच रहा था कि वहाँ नेट में स्थिरांक का एक सेट है। रूपरेखा का उपयोग मुझे ऊपर दिए गए उदाहरण में "DELETE" के स्थान पर किया जाना चाहिए I मैं निश्चित रूप से अपने स्वयं के सेटों को परिभाषित कर सकता हूं, लेकिन यदि ऐसा लगता है कि शायद यह ढांचा में मौजूद है और मैं बस इसे याद कर रहा हूं।

थोड़ा अप्रत्यक्ष, लेकिन System.Net.WebRequestMethods.Http स्थिरांक हैं:

  सार्वजनिक कॉन्स्ट स्ट्रिंग कनेक्ट = "कनेक्ट"; सार्वजनिक const स्ट्रिंग जाओ = "प्राप्त"; सार्वजनिक const स्ट्रिंग हेड = "हेड"; सार्वजनिक const स्ट्रिंग MkCol = "MKCOL"; सार्वजनिक const स्ट्रिंग पोस्ट = "पोस्ट"; सार्वजनिक const स्ट्रिंग रख = "डाल";  

लेकिन कोई "हटाएं" - सुझाव है कि आप अपना स्वयं का बना लें ...

कष्टप्रद रूप से, System.Web.HttpVerb लेकिन यह आंतरिक है, इसलिए उपयोग नहीं किया जा सकता है - और यह एक एन्यूम है, इसलिए नाम को एक विशेषता में उपयोग करने के लिए आपको कुछ हैकिंग की आवश्यकता होगी।


Comments