আইআইএস 7-তে 'ক্লাসিক' এবং 'সংহত' পাইপলাইন মোডের মধ্যে পার্থক্য কী?


490

আমি গতরাতে একটি এএসপি.নেট এমভিসি অ্যাপ্লিকেশন মোতায়েন করছি এবং আমি জানতে পেরেছি যে আইআইএস 7 এর সাথে ইন্টিগ্রেটেড মোডে সেট স্থাপন করা কম কাজ করছে। আমার প্রশ্ন হ'ল পার্থক্য কি? এবং একটি বা অন্য ব্যবহারের কী প্রভাব আছে?


10
ক্লাসিক সহ ইন্টিগ্রেটেড মোড স্থাপন করা কীভাবে কম কাজ ছিল? কেবল কৌতূহলী
পিটার লিলভল্ড

9
@ পিটার: এক্সটেনশনহীন URL গুলিকে ক্লাসিক মোডে ম্যানুয়ালি ম্যাপ করা দরকার।
মেহরদাদ আফশারি

2
এমনকি এমভিসি গ্লোবাল.এক্সে নোটগুলি পড়ুন: আইআইএস 6 বা আইআইএস 7 ক্লাসিক মোড সক্ষম করার নির্দেশাবলীর জন্য, go.microsoft.com/?LinkId=9394801 দেখুন । অথবা আপনি কেবল ইন্টিগ্রেটেড মোড চালু করতে পারেন এবং System.Web.Mvc সমাবেশ এবং কেবলমাত্র কাজ করে এমন সমস্ত কিছু অন্তর্ভুক্ত করতে পারেন।
জন এরিকসন

উত্তর:


642

ক্লাসিক মোড (আইআইএস 6 এবং নীচে একমাত্র মোড) এমন একটি মোড যেখানে আইআইএস কেবল আইএসপিআই এক্সটেনশান এবং আইএসপিআই ফিল্টারগুলির সাথে সরাসরি কাজ করে। প্রকৃতপক্ষে, এই মোডে, এএসপি.এনইটি হ'ল একটি আইএসপিআই এক্সটেনশন (এস্পনেট_আইসাপি.ডিএল) এবং একটি আইএসএপিআই ফিল্টার (এসপনেট_ফিল্টার.ডিল)। আইআইএস কেবল এএসপি.নেটকে আইএসপিআইতে প্রয়োগ করা একটি বাহ্যিক প্লাগইন হিসাবে বিবেচনা করে এবং এটি একটি কালো বাক্সের মতো কাজ করে (এবং কেবল যখন এএসপি.নেটকে অনুরোধ জানাতে হবে)। এই মোডে, এএসপি.এনইট পিএইচপি বা আইআইএসের জন্য অন্যান্য প্রযুক্তি থেকে খুব আলাদা নয়।

অন্যদিকে, ইন্টিগ্রেটেড মোড আইআইএস in এর একটি নতুন মোড যেখানে আইআইএস পাইপলাইনটি এএসপি.নেট অনুরোধ পাইপলাইন হিসাবে শক্তভাবে সংহত করা হয়েছে (যেমন ঠিক একই)। এএসপি.এনইটি চাইলে প্রতিটি অনুরোধ দেখতে পারে এবং পথে জিনিসগুলি হেরফের করতে পারে। এএসপি.নেটকে আর বাহ্যিক প্লাগইন হিসাবে ধরা হয় না। এটি সম্পূর্ণরূপে মিশ্রিত এবং আইআইএসে সংহত। এই মোডে, এএসপি.এনইটিএসের HttpModuleমূলত ইস্পি ফিল্টারটির HttpHandlerপ্রায় সমান শক্তি থাকতে পারে এবং এএসপি.এন.টি.এস.এস.এস.পি. এর এক্সটেনশানটি প্রায় সমতুল্য ক্ষমতা অর্জন করতে পারে। এই মোডে, এএসপি.এনইটি মূলত আইআইএসের একটি অংশ।


8
ক্লাসিক তুলনায় ধীর একীভূত হয়?
অ্যালেক্স নোলাসো

আমি নিশ্চিত নই যে এসপ নেট আইআইএস-র একটি অংশ এটি বলা ঠিক কিনা। এগুলি দেখতে আলাদা (একীভূত হওয়া সত্ত্বেও) পণ্যগুলির মতো লাগে। আমার ভুল হতে পারে.
অ্যান্ড্রু সাবিনিখ

@ মেহরদাদআফশারি HttpModulesপদ্ধতিতে বা ইভেন্টগুলিতে iis7কাজ করার ক্ষেত্রে iis6কি কার্যকারিতা বেশি রয়েছে ? আপনি কি এ সম্পর্কে বিস্তারিত বলতে পারেন?
রই নমির

এবং যোগ করার জন্য, ইন্টিগ্রেটেড পাইপলাইন মোডে, অনুরোধ পাইপলাইনের প্রতিটি পর্যায়ে হ্যান্ডলারের ম্যাপিং অ্যাপ্লিকেশনটিতে ওভাররাইড করা হতে পারে এমন ঘটনা হিসাবে প্রকাশিত হয়। উদাহরণস্বরূপ, কেউ নির্দিষ্ট ধরণের রুটের জন্য একটি এম্বেডেড রিসোর্স এইচটিপিএইচেন্ডার সংজ্ঞায়িত করতে পারে এবং রুট হ্যান্ডলারের মাধ্যমে আপনার কাস্টম হ্যান্ডলারে এগুলি ম্যাপ করতে পারে।
রেন

1
এই জাতীয় প্রশ্নের সঠিক উত্তর, কমপক্ষে মাইক্রোসফ্টের নিবন্ধগুলির মধ্যে যেমন আইস.না.এল.নার্ন / অ্যাপ্লিকেশন- ফ্রেমওয়ার্কস / রেফারেন্স করা উচিত
লেক্স লি

115

ইন্টিগ্রেটেড অ্যাপ্লিকেশন পুল মোড

যখন একটি অ্যাপ্লিকেশন পুল ইন্টিগ্রেটেড মোডে থাকে, আপনি আইআইএস এবং এএসপি.এনইটি সংহত অনুরোধ-প্রক্রিয়াকরণ আর্কিটেকচারের সুবিধা নিতে পারেন। যখন কোনও অ্যাপ্লিকেশন পুলে কোনও কর্মী প্রক্রিয়া একটি অনুরোধ পান, অনুরোধটি ইভেন্টের একটি আদেশিত তালিকার মধ্য দিয়ে যায়। প্রতিটি ইভেন্ট অনুরোধের অংশগুলি প্রক্রিয়া করতে এবং প্রতিক্রিয়া উত্পন্ন করতে প্রয়োজনীয় স্থানীয় এবং পরিচালিত মডিউলগুলিকে কল করে।

ইন্টিগ্রেটেড মোডে অ্যাপ্লিকেশন পুল চালানোর বিভিন্ন সুবিধা রয়েছে। প্রথমে আইআইএস এবং এএসপি.এনইটির অনুরোধ-প্রক্রিয়াকরণ মডেলগুলি একটি ইউনিফাইড প্রক্রিয়া মডেলের সাথে সংহত করা হয়েছে। এই মডেলটি এমন পদক্ষেপগুলি সরিয়ে দেয় যা পূর্বে আইআইএস এবং এএসপি.এনইটিতে অনুলিপি করা হয়েছিল, যেমন প্রমাণীকরণ। অতিরিক্তভাবে, ইন্টিগ্রেটেড মোড সমস্ত সামগ্রী ধরণের পরিচালিত বৈশিষ্ট্যের প্রাপ্যতা সক্ষম করে।

ক্লাসিক অ্যাপ্লিকেশন পুল মোড

যখন কোনও অ্যাপ্লিকেশন পুল ক্লাসিক মোডে থাকে, আইআইএস 7.0 অনুরোধগুলি আইআইএস 6.0 কর্মী প্রক্রিয়া বিচ্ছিন্নতা মোডের মতো পরিচালনা করে। এএসপি.এনইটি অনুরোধগুলি প্রথমে আইআইএসে নেটিভ প্রসেসিং পদক্ষেপের মধ্য দিয়ে যায় এবং তারপরে পরিচালিত রানটাইমে ম্যানেজড কোড প্রসেসিংয়ের জন্য Aspnet_isapi.dll এ স্থানান্তরিত হয়। অবশেষে, অনুরোধটি আইআইএসের মাধ্যমে প্রতিক্রিয়া প্রেরণের জন্য ফিরে যেতে হবে।

আইআইএস এবং এএসপি.এনইটি অনুরোধ-প্রসেসিং মডেলের এই পৃথকীকরণের ফলে প্রমাণীকরণ এবং অনুমোদনের মতো কিছু প্রক্রিয়াজাত পদক্ষেপের নকল হয়। অতিরিক্তভাবে, পরিচালিত কোড বৈশিষ্ট্যগুলি, যেমন ফর্ম প্রমাণীকরণ, কেবলমাত্র এএসপি.নেট অ্যাপ্লিকেশন বা অ্যাপ্লিকেশনগুলিতে উপলভ্য যার জন্য আপনি স্ক্রিপ্ট ম্যাপ করেছেন সমস্ত অনুরোধগুলি aspnet_isapi.dll দ্বারা পরিচালিত হবে।

আইআইএস 7.0 এ উত্পাদন পরিবেশ আপগ্রেড করার আগে এবং ইন্টিগ্রেটেড মোডে অ্যাপ্লিকেশন পুলগুলিতে অ্যাপ্লিকেশনগুলি বরাদ্দ করার আগে ইন্টিগ্রেটেড মোডে সামঞ্জস্যের জন্য আপনার বিদ্যমান অ্যাপ্লিকেশনগুলি পরীক্ষা করে দেখুন sure আপনার কেবলমাত্র ক্লাসিক মোডের একটি অ্যাপ্লিকেশন পুলে একটি অ্যাপ্লিকেশন যুক্ত করা উচিত যদি অ্যাপ্লিকেশনটি ইন্টিগ্রেটেড মোডে কাজ করতে ব্যর্থ হয়। উদাহরণস্বরূপ, আপনার অ্যাপ্লিকেশনটি আইআইএস থেকে পরিচালিত রানটাইম পর্যন্ত পাস করা একটি প্রমাণীকরণ টোকেনের উপর নির্ভর করতে পারে এবং আইআইএস 7.0-এ নতুন আর্কিটেকচারের কারণে প্রক্রিয়াটি আপনার অ্যাপ্লিকেশনটিকে ভেঙে দেয়।

থেকে নেওয়া: আইআইএস 7-এ ডিফল্ট অ্যাপপুল এবং ক্লাসিক। নেট অ্যাপপুলের মধ্যে পার্থক্য কী?

মূল উত্স: আইআইএস আর্কিটেকচারের পরিচিতি


28
শেষ অনুচ্ছেদে মূল বাক্য: "অ্যাপ্লিকেশন ইন্টিগ্রেটেড মোডে কাজ করতে ব্যর্থ হলে আপনার কেবলমাত্র ক্লাসিক মোডের একটি অ্যাপ্লিকেশন পুলে একটি অ্যাপ্লিকেশন যুক্ত করা উচিত" "
ডেভিডআরআর

6
@ জসন স্ট্যাথাম - এর একটি কারণ হ'ল ইন্টিগ্রেটেড মোড এএসপি.নেট ছদ্মবেশ (সাইটগুলি> আপনার সাইট> আইআইএস> প্রমাণীকরণ) ব্যবহার করতে পারে না। আপনার যদি কোনও ইন্ট্রানেট সাইট রয়েছে এবং উইন্ডোজ প্রমাণীকরণ ব্যবহার করছেন, এটি একটি গুরুত্বপূর্ণ বিবেচনা। লিঙ্ক
user3308241

11

আইআইএস 6.0 এবং পূর্ববর্তী সংস্করণ:

ASP.NET একটি ISAPI এক্সটেনশন, একটি সিপিআই (সি প্রোগ্রামিং ল্যাঙ্গুয়েজ ভিত্তিক এপিআই) এর মাধ্যমে আইআইএসের সাথে একীভূত হয়েছিল এবং এর নিজস্ব অ্যাপ্লিকেশন এবং অনুরোধ প্রক্রিয়াজাতকরণ মডেলটি উন্মোচিত করেছে।

এটি কার্যকরভাবে দুটি পৃথক সার্ভার (অনুরোধ / প্রতিক্রিয়া) পাইপলাইন উন্মুক্ত করেছে, একটি নেটিভ ISAPI ফিল্টার এবং এক্সটেনশন উপাদানগুলির জন্য এবং অন্যটি পরিচালিত অ্যাপ্লিকেশন উপাদানগুলির জন্য। ASP.NET উপাদানগুলি সম্পূর্ণরূপে ASP.NET ISAPI এক্সটেনশন বুদবুদ এবং আইআইএস স্ক্রিপ্ট মানচিত্রের কনফিগারেশনে এএসপি.নেটকে ম্যাপ করা অনুরোধের জন্য পুরোপুরি কার্যকর করা হবে ।

নন এএসপি.নেট সামগ্রীর ধরণের অনুরোধ: - চিত্রগুলি, পাঠ্য ফাইলগুলি, এইচটিএমএল পৃষ্ঠাগুলি এবং স্ক্রিপ্ট-কম এএসপি পৃষ্ঠাগুলি আইআইএস বা অন্যান্য আইএসএপিআই এক্সটেনশান দ্বারা প্রক্রিয়াভুক্ত হয়েছিল এবং এএসপি.নেটের কাছে দৃশ্যমান ছিল না।

এই মডেলের প্রধান সীমাবদ্ধতা হ'ল ASP.NET মডিউল এবং কাস্টম ASP.NET অ্যাপ্লিকেশন কোড দ্বারা সরবরাহিত পরিষেবাগুলি নন ASP.NET অনুরোধগুলিতে উপলব্ধ ছিল না

স্ক্রিপ্ট ম্যাপ কী?

স্ক্রিপ্ট মানচিত্রগুলি ISAPI হ্যান্ডলারের সাথে ফাইল এক্সটেনশনগুলি সংযুক্ত করতে ব্যবহৃত হয় যা সেই ফাইল প্রকারের জন্য অনুরোধ করা হলে কার্যকর করা হয়। স্ক্রিপ্ট মানচিত্রে একটি settingচ্ছিক সেটিংসও রয়েছে যা অনুরোধটি প্রক্রিয়া করার অনুমতি দেওয়ার আগে অনুরোধের সাথে সম্পর্কিত শারীরিক ফাইল উপস্থিত রয়েছে তা যাচাই করে

একটি ভাল উদাহরণ হতে পারে seen here

আইআইএস 7 এবং উপরে

আইআইএস 7.0 এবং তারপরে একটি নতুন ব্র্যান্ডের সি ++ এপিআই ভিত্তিক আইএসএপিআই সরবরাহের জন্য গ্রাউন্ড আপ থেকে পুনরায় ইঞ্জিনিয়ার করা হয়েছে।

আইআইএস .0.০ এবং তারপরে ওয়েব সার্ভারের মূল কার্যকারিতার সাথে এএসপি.এনইটি রানটাইম সংহত করে, একটি ইউনিফাইড (একক) অনুরোধ প্রসেসিং পাইপলাইন সরবরাহ করে যা মডিউল (আইএইচটিপিডমডিউলস) হিসাবে পরিচিত উভয় নেটিভ এবং পরিচালিত উপাদানগুলির সংস্পর্শে আসে providing

এর অর্থ হ'ল আইআইএস processes প্রক্রিয়া অনুরোধগুলি যে কোনও সামগ্রীর ধরণের জন্য উপস্থিত হয় NON ASP.NET Modules / native IIS modulesএবং উভয় ASP.NET modulesপর্যায়ে অনুরোধ প্রসেসিং সরবরাহ করে এটি NON ASP.NET সামগ্রী প্রকারের (.html, স্ট্যাটিক ফাইল) .NET মডিউল দ্বারা পরিচালনা করা যায় ।

  • আপনি নতুন পরিচালিত মডিউলগুলি ( IHttpModule) তৈরি করতে পারেন যা সমস্ত অ্যাপ্লিকেশন সামগ্রীর জন্য কার্যকর করার ক্ষমতা রাখে এবং আপনার অ্যাপ্লিকেশনটিতে অনুরোধ প্রক্রিয়াকরণ পরিষেবার একটি বর্ধিত সেট সরবরাহ করে।
  • নতুন পরিচালিত হ্যান্ডলার যুক্ত করুন ( IHttpHandler)

5

ক্লাসিক মোডে আইআইএস h ISAPI এক্সটেনশানগুলি এবং ইসাপি ফিল্টারগুলি সরাসরি কাজ করে। এবং দুটি পাইপ লাইন ব্যবহার করে, একটি নেটিভ কোডের জন্য এবং অন্যটি পরিচালিত কোডের জন্য। আপনি সহজেই বলতে পারেন যে ক্লাসিক মোডে আইআইএস 7.x ঠিক আইআইএস 6 এর মতো কাজ করে এবং আপনি আইআইএস 7.x বৈশিষ্ট্যগুলির বাইরে অতিরিক্ত সুবিধা পান না।

ইন্টিগ্রেটেড মোডে আইআইএস এবং এএসপি.নেট ক্লাসিক মোডের ক্ষেত্রে Asp.net- এ মাত্র দুটি ডিএলএল-র উপর নির্ভর করে শক্তভাবে মিলিত হয়।

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