how to gzip content in asp.net MVC? -


एक asp.net mvc अनुप्रयोग द्वारा भेजे जाने वाले आउटपुट को संक्षिप्त कैसे करें ??

यहाँ मैं जो उपयोग करता हूँ (समय में इस मोनेंट के रूप में):

  System.IO.Compression का उपयोग कर; पब्लिक क्लास कम्प्रेशन एट्रिब्यूट: एक्शनफ़िल्टर ऐट्रिबेट {सार्वजनिक ओवरराइड शून्य ऑनएक्शनएक्सस्पेचिंग (एक्शन एक्सेप्टिंग कॉन्टैक्ट फ़िल्टरकांटेक्स्ट) {var एन्कोडिंग्स स्वीकृत = फिल्टर कॉन्टेक्स। एचटीपीपीटीएक्स। अनुरोध। हेडर ["एक्ट-एनकोडिंग"]; यदि (string.IsNullOrEmpty (एन्कोडिंग स्वीकृत)) वापस; एन्कोडिंग स्वीकृत = एन्कोडिंग स्वीकार किए गए हैं। ताओवर इन्वेरियंट (); Var प्रतिक्रिया = filterContext.HttpContext.Response; अगर (एन्कोडिंग स्वीकृत हो। शामिल है ("डिफ्लेट")) {response.AppendHeader ("सामग्री-एन्कोडिंग", "डीफ्लेट"); प्रतिक्रिया। फ़िल्टर = नया डिफ्लैटस्ट्रीम (प्रतिक्रिया। फ़िल्टर, संपीड़नमोड। कॉम्प्रेस); } और अगर (एन्कोडिंग स्वीकार किया गया। शामिल है ("gzip")) {response.AppendHeader ("सामग्री-एन्कोडिंग", "जीज़िप"); प्रतिक्रिया.फ़िल्टर = नया जीज़िपस्ट्रीम (प्रतिक्रिया। फ़िलटर, संपीड़नमोड। कॉम्प्रेस); नियंत्रक में उपयोग:  
  [संपीड़ित] सार्वजनिक कक्षा बुकिंगकंट्रोलर: BaseController {...}  

P> वहाँ अन्य बदलाव हैं, लेकिन यह काफी अच्छी तरह से काम करता है। (बीटीडब्ल्यू, मैं प्रोजेक्ट में दोहराव को बचाने के लिए अपने बेस कंट्रोलर पर [संपीड़ित] विशेषता का उपयोग करता हूं, जबकि ऊपर यह नियंत्रक आधार पर नियंत्रक पर कर रहा है।

[संपादित करें] जैसा कि उपरोक्त पैरा में उल्लिखित है। उपयोग को सरल बनाने के लिए, आप बेसकंट्रोलर में [compress] ओनहॉट भी शामिल कर सकते हैं, जिससे प्रत्येक विरासत में मिली बच्चे नियंत्रक डिफ़ॉल्ट रूप से कार्यप्रणाली तक पहुंचता है:

  [संकुचित करें] सार्वजनिक कक्षा बेसकंट्रोलर: नियंत्रक {...}  

Comments