আইআইএস 7-তে এমভিসি 3 ব্যবহার করার সময় আমি কীভাবে জিজিপ সংক্ষেপণ সক্ষম করব?


100

কেউ কীভাবে এমভিসি 3 তে জিজিপ সংক্ষেপণ সক্ষম করতে জানে? আমি আইআইএস 7 ব্যবহার করছি।

গুগল ক্রোম অডিট ফলাফল:

  1. জিজিপ সংক্ষেপণ সক্ষম করুন (4)
  2. জিজিপ দিয়ে নিম্নলিখিত সংস্থানগুলি সংকুচিত করে তাদের স্থানান্তর আকার প্রায় দুই তৃতীয়াংশ (~ 92.23KB) হ্রাস করতে পারে:
  3. / মাইডোমাইন / 1.53KB সাশ্রয় করতে পারে
  4. jquery-1.4.4.min.js ~ 51.35KB সাশ্রয় করতে পারে
  5. Cufon.js 11.89KB ডলার সাশ্রয় করতে পারে
  6. Futura.js ~ 27.46KB বাঁচাতে পারে

: সদৃশ তুমি চুপ করে বসে stackoverflow.com/q/552317/712526
jpaugh

উত্তর:


142

আপনি web.configনিম্নলিখিত হিসাবে আপনার ফাইলের মাধ্যমে সংক্ষেপণ কনফিগার করতে পারেন :

<system.webServer>
    <urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>

আপনি এই কনফিগারেশন উপাদানটির ডকুমেন্টেশন iis.net/ConfigReferences এ খুঁজে পেতে পারেন । এটি সমান:

  1. খোলার ইন্টারনেট তথ্য পরিষেবাদি (আইআইএস পরিচালক)
  2. আপনি যে ভার্চুয়াল ডিরেক্টরিটি সংশোধন করতে চান তা না পৌঁছা পর্যন্ত বাম দিকের ট্রি-ভিউ দিয়ে নেভিগেট করা
  3. উপযুক্ত ভার্চুয়াল ডিরেক্টরি নির্বাচন করা যাতে ডান হাতের ফলকের শিরোনামটি বলা ভার্চুয়াল ডিরেক্টরিটির নাম হয়ে যায়।
  4. ডান-হাতের ফলকে "আইআইএস" এর অধীনে "সংক্ষেপণ" নির্বাচন করা
  5. উভয় বিকল্পের টিকিট দেওয়া এবং ডানদিকে "ক্রিয়াগুলি" এর অধীনে "প্রয়োগ" নির্বাচন করা।

দ্রষ্টব্য: (মন্তব্যে নির্দেশিত হিসাবে) আপনাকে নিশ্চিত করতে হবে যে এইচটিপি ডাইনামিক সংক্ষেপণ ইনস্টল করা আছে অন্যথায় সেটিংসের doDynamicCompression="true"কোনও প্রভাব থাকবে না। এটি করার দ্রুততম উপায় হ'ল:

  1. শুরু করুন> টাইপ করুন optionalfeatures("উইন্ডোজ বৈশিষ্ট্যগুলি চালু বা বন্ধ করুন" উইন্ডোতে যাওয়ার এই দ্রুততম উপায়)
  2. "উইন্ডোজ বৈশিষ্ট্যগুলি" ট্রিভিউতে ইন্টারনেট তথ্য পরিষেবা> ওয়ার্ল্ড ওয়াইড ওয়েব পরিষেবাদি> পারফরম্যান্স বৈশিষ্ট্যগুলিতে নেভিগেট করুন
  3. "গতিশীল বিষয়বস্তু সংক্ষেপণ" টিক দেওয়া আছে তা নিশ্চিত করুন
  4. "ঠিক আছে" ক্লিক করুন এবং উইন্ডোজ উপাদানটি ইনস্টল করে অপেক্ষা করুন

11
এটি লক্ষণীয় যে এটিকে কাজ করার জন্য আপনার এইচটিটিপি কম্প্রেশন ডায়নামিক আইআইএস বিকল্প ইনস্টল থাকা দরকার। এই উত্তরের কনফিগার রেফারেন্স লিঙ্কটিতে বিশদ রয়েছে।
কালেব ভেরে

16
উইন্ডোজ সার্ভারে 2008 optionalfeaturesআমার পক্ষে কাজ করে নি। পরিবর্তে, সার্ভার ম্যানেজার নেভিগেট করুন> ভূমিকা> ওয়েব সার্ভারে স্ক্রোল করুন (আইআইএস)> ভূমিকা পরিষেবা যুক্ত করুন ক্লিক করুন। এখন নিশ্চিত করুন যে ওয়েব সার্ভার> পারফরম্যান্স> স্ট্যাটিক কন্টেন্ট সংক্ষেপণ এবং ডায়নামিক সামগ্রী সংক্ষেপণ ইনস্টল করা আছে।
ররি

1
সচেতন হোন যে এটি আপনার "ভ্যারি:" হোস্ট শিরোনামকে বিশৃঙ্খলা করতে পারে। আরো তথ্য: stackoverflow.com/questions/5372052/...
jjxtra

2
কমপক্ষে আমার অভিজ্ঞতায় এটি এমভিসি কন্ট্রোলারগুলির আউটপুট তবে সমস্ত কিছু সংকুচিত করে। তারা কোনও কারণে কোনও জিজিপ সংক্ষেপণ ছাড়াই এইচটিএমএল ফিরিয়ে দেয়।
ক্রিস মোসচিনি

1
সতর্ক করা !!! আইআইএস ডায়নামিক কম্প্রেশনগুলি ভেরি শিরোনামগুলি সরিয়ে দেয়, এটি একটি বাগ বা বৈশিষ্ট্য, আমি জানি না, তবে আপনি যদি ক্যাশে সঠিকভাবে কাজ করতে চান তবে কাস্টম ফিল্টার প্রয়োগ করা আরও অর্থবোধ করে।
আকাশ কাভা

31

আপনি যদি কোডটি না করে বরং এটি করতে পারেন। আমি একটি বেসকন্ট্রোলার তৈরি করব যা প্রতিটি নিয়ন্ত্রণ উত্তরাধিকার সূত্রে প্রাপ্ত হয় এবং নীচে এই বৈশিষ্ট্যটি দিয়ে এটি সাজাই।

public class CompressAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {

        var encodingsAccepted = filterContext.HttpContext.Request.Headers["Accept-Encoding"];
        if (string.IsNullOrEmpty(encodingsAccepted)) return;

        encodingsAccepted = encodingsAccepted.ToLowerInvariant();
        var response = filterContext.HttpContext.Response;

        if (encodingsAccepted.Contains("deflate"))
        {
            response.AppendHeader("Content-encoding", "deflate");
            response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
        }
        else if (encodingsAccepted.Contains("gzip"))
        {
            response.AppendHeader("Content-encoding", "gzip");
            response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
        }
    }
}

2
@ জাস্টঅনথর ইউজারমায় কেউকুন - আপনি কীভাবে আপনার সংস্থানগুলি সরবরাহ করছেন তার উপর নির্ভর করে; আপনি যদি সার্ভারের সরাসরি ফাইলগুলিতে ইঙ্গিত করছেন তবে না, তবে আপনি যদি তাদের কর্মের মাধ্যমে পরিবেশন করেন (যেমন আমাদের সংস্থান ব্যবস্থাপনার সিস্টেম আমাদের অনুমতি দেয়) তবে এটি দুর্দান্তভাবে কাজ করে। বিটিডব্লিউ রিক স্ট্রহল এই সংশোধন করার আগে
পল ক্যারল

4
নোট করুন যে পুনঃনির্দেশের জন্য এটি filterনাল হওয়া থেকে রক্ষা করা গুরুত্বপূর্ণ । আমি ব্যবহৃত var response = ...;if( response == null || response.Filter == null)return;
ট্র্যাভিস জে

2
এছাড়াও, আপনি এর gzipপরিবর্তে প্রথমটি ব্যবহার করতে পারেন deflateএখানে আরও পড়ুন: stackoverflow.com/a/9856879/1026459
ট্র্যাভিস জ

আইআইএস সংকুচিত ফাইলগুলিকে ক্যাশে করে, তাই আরও ভাল পারফরম্যান্সের জন্য এগুলি আবার সংকোচনের প্রয়োজন হবে না। আপনি যদি পারেন তবে আইআইএস ব্যবহার করুন এবং যদি আইআইএস সংক্ষেপণ আপনার কাছে উপলব্ধ না হয় তবে কেবলমাত্র এই পদ্ধতির ব্যবহার করুন।
মুহাম্মদ রেহান সা Saeedদ

1
এমভিসি 5, আইআইএস 8.5,। নেট 4.5 লোকালহোস্টে এই সমাধানগুলির কোনও কাজ করছে না। আমার কী করা উচিত, কোন পরামর্শ?
aadi1295

12

সংক্ষেপটি সার্ভারের স্তরে সক্ষম / অক্ষম করা আছে। আইআইএস পরিচালনা কনসোলে আইআইএস সংক্ষেপণ মডিউলটি দেখুন।

মাইক্রোসফ্ট সাইট থেকে আইআইএসের জন্য এখানে নির্দেশাবলী দেওয়া আছে


1
আপনি এটি ওয়েবকনফাইগেও সেট করতে পারবেন
জ্যাক মারচেটি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.