.NET फ्रेमवर्क में "एप्लीकेशन / जसन" स्थिर है


86

मैंने अभी अपनी कक्षाओं में "एप्लिकेशन / जोंस" सामग्री प्रकार के लिए एक स्थिरांक घोषित किया है।

public const string JsonContentType = "application/json";

मुझे यकीन नहीं है कि यह एक अच्छा अभ्यास है।

क्या .NET फ्रेमवर्क में "एप्लिकेशन / json" के लिए पूर्वनिर्धारित कॉन्स्ट है?



जवाबों:


61

जबकि MediaTypeNames ( यहाँ देखें ) में परिभाषित कुछ MIME स्थिरांक हैं , "अनुप्रयोग / json" के लिए कोई स्थिरांक नहीं है।

एक साझा कास्ट में अतिरिक्त सामग्री प्रकारों को रखना शायद सबसे अच्छा अभ्यास है, बेहतर है कि उन्हें कम से कम आपके कोड में एक लाख बार स्ट्रिंग शाब्दिक में परिभाषित किया जाए।

साथ ही यह आपको नए / कस्टम MIME प्रकारों का उपयोग करने की सुविधा देता है, जो एक विशिष्ट .NET संस्करण नहीं हो सकता है।


खुशी है कि आपने एक सार्वजनिक कॉन्स्ट सर्वोत्तम अभ्यास को परिभाषित करने के बारे में उल्लेख किया। यह आपके कोड को यहां और वहां ले जाने के बजाय करने का #cleanCode तरीका है।
RBT

निहित निष्कर्ष यह है कि यह नए / कस्टम MIME प्रकारों को "सक्षम" करता है, क्योंकि कोई स्ट्रिंग निरंतर परिभाषित नहीं है, जो खुले सेट (सभी संभावित स्ट्रिंग्स) के अतिरिक्त परिवर्धन को स्वीकार नहीं करता है। चूंकि JSON / XML / HTML इंटरनेट पर इतना सर्वव्यापी हैं, इसलिए ये मानक (कई में से एक में) .NET नेट / वेब असेंबली उपयोगी होंगे। मुझे आश्चर्य है कि क्या .NET कोर इस उत्तर को बदलता है?
user2864740

अर्ग, या, संबंधित उत्तर के साथ .. यदि केवल "एप्लिकेशन /
जसन

45
.NET कोर 2.1.0 में MediaTypeNames.Application.Jsonपरिभाषित है :) github.com/dotnet/corefx/pull/26701 देखें ।
बॉब वान डे विजवर

79

अप-टू-डेट उत्तर जोड़ने के लिए: डॉटनेट कोर 2.1 के बाद से MediaTypeNames.Application.Json को परिभाषित किया गया है।

बदलाव के लिए https://github.com/dotnet/corefx/pull/26701 देखें ।


5
ऐसा लगता Jsonहै कि दुर्भाग्यवश .NET मानक 2.0 में निरंतरता उपलब्ध नहीं है।
पैंजरक्रिसिस

कृपया इसे सर्वश्रेष्ठ उत्तर के रूप में चिह्नित करें या सर्वोत्तम उत्तर को अपडेट करें।
bruno.almeida
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.