HT হ্যান্ডলার ইন্টারফেসে বুল ইসআরেসেবলের তাৎপর্য


130

কোনও HTTP হ্যান্ডলার / মডিউল লেখার সময়, একটি ইন্টারফেস সদস্য বলা হয় যার নাম রয়েছে - বুল ইসআরজেবল

এই সদস্যটির তাৎপর্য কী? যদি আমি এটিকে মিথ্যা (বা সত্য) হিসাবে সেট করে রাখি তবে বাকি ওয়েব অ্যাপ্লিকেশনটির এর অর্থ কী?


উত্তর:


152

কোনও হ্যান্ডলারের স্বাভাবিক প্রবেশের পয়েন্টটি হ'ল প্রক্রিয়াআরকিস্ট পদ্ধতি। তবে আপনার কাছে ক্লাস কনস্ট্রাক্টরে কোড থাকতে পারে যা কিছু দৃষ্টান্তের মানগুলি তৈরি করে যা ব্যয়বহুল।

আপনি যদি পুনরায় ব্যবহারযোগ্যকে সত্য বলে চিহ্নিত করে থাকেন তবে অ্যাপ্লিকেশনটি উদাহরণটি ক্যাশে করতে পারে এবং প্রতিটি বার এটির পুনর্গঠন না করেই কেবল একবার তার প্রসেসরয়েস্ট পদ্ধতিটি কল করে আবার অন্য অনুরোধে পুনরায় ব্যবহার করতে পারে।

অ্যাপ্লিকেশনটি বর্তমান হ্যান্ডলটি হ্যান্ডেল করার জন্য যতগুলি হ্যান্ডলারের প্রয়োজন তা তত্ক্ষণাতিত করবে।

নেতিবাচকতাটি হ'ল যদি প্রয়োজনীয় দৃষ্টান্তগুলির সংখ্যা বর্তমানে উপস্থিত দৃষ্টান্তগুলির চেয়ে বেশি হয়, তারা আরও মেমরি ব্যবহার করে। বিপরীতে তারা আপাত মেমরির ব্যবহারগুলি হ্রাস করতে পারে যেহেতু তাদের উদাহরণ মানটি জিসি চক্র থেকে বেঁচে থাকবে এবং প্রায়শই পুনরায় বরাদ্দ করার প্রয়োজন হয় না।

আর একটি সাবধানবাণী হ'ল আপনার নিশ্চিত হওয়া দরকার যে প্রক্রিয়াআরকিউয়েস্ট সম্পাদন শেষে অবজেক্টের অবস্থা যেমন রয়েছে আপনি অন্য কোনও অনুরোধের জন্য অবজেক্টটিকে পুনরায় ব্যবহার করতে চাইবেন।


2
আপনি অবজেক্টের পুনঃব্যবহারের বিষয়টি IsReusable = সত্য উল্লেখ করে কী অপ্টিমাইজেশন অর্জন করেছেন বলে উল্লেখ করেছেন। ইসরয়েজযোগ্য = সেট করা হবে সার্ভারে ভুয়া ফলাফল হ্যান্ডলারের একাধিক ইনস্ট্যান্সকে কখনও তাত্ক্ষণিক করে না। আইই - এটি সমবর্তী অনুরোধগুলি মুছে দেয়?
ইয়ান

@ আমি যদি বিশ্বাস করি এটি তখন সাধারণ পৃষ্ঠা হিসাবে কাজ করে যখন পুনরায় ব্যবহারযোগ্য মিথ্যা হয়, যদিও আমি ভুল হতে পারি। যখন এটি পুনরায় ব্যবহারযোগ্য তখন এটি 2 বা 3 টি উদাহরণ (কেবল উদাহরণস্বরূপ) সহ 6 সমবর্তী অনুরোধগুলি পরিচালনা করতে সক্ষম হতে পারে যখন এটি পুনরায় ব্যবহারযোগ্য না হলে এটির জন্য 1: 1 দৃষ্টান্ত / প্রক্রিয়া প্রয়োজন need আমি কল্পনাও করতে পারি না। 1 কর্মী থ্রেড তার রাষ্ট্রকে ক্রমাগত রিফ্রেশ / পুনরায় পুনর্নির্বাচিত করার সময় সমস্তগুলি হ্যান্ডেল করার চেষ্টা করার কারণে অনুরোধগুলি স্তূপিত হতে দেবে।
ডেভিডশেয়ার

47

অ্যান্টনি ডাব্লু জোনসের উত্তর ছাড়াও, যদি আপনার এইচটিটিপি হ্যান্ডলার তার trueজন্য ফিরে আসে IsReusableতবে আপনার অবশ্যই এটি সম্পূর্ণ থ্রেড-নিরাপদ কিনা তা নিশ্চিত করা উচিত।

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


ঘন হওয়ার জন্য দুঃখিত, তবে কেউ অনুগ্রহ করে "কনটেক্সট স্যুইচ" বলতে কী বোঝাতে চান তা ব্যাখ্যা করতে পারে। আপনি যদি সেসন বা ক্যোয়ারী স্ট্রিং (সামগ্রী.Request.QueryString) থেকে জিনিসগুলি অ্যাক্সেস করেন তবে তা পুনরায় ব্যবহারযোগ্য বা না?
জড করুন

5
প্রসঙ্গের স্যুইচিং হ'ল যখন সিপিইউ একটি থ্রেডে প্রক্রিয়াকরণ বন্ধ করে এবং অন্যটিতে প্রক্রিয়াজাতকরণ শুরু করে। IE সিপিইউ এর প্রসঙ্গটি এক থ্রেড থেকে অন্য থ্রেডে স্যুইচ করেছে। এটি পিসিগুলিতে নিয়মিত ঘটে থাকে, এটি মাল্টিকোর কম্পিউটার থাকার আগে আমাদের মাল্টিটাস্কিংয়ের মায়া দেয়।
ল্যারি ডিউক

আমি কখন বুঝতে পারি না যে আপনি যখন বলেছিলেন যে কোনও সময় কোনও প্রসঙ্গে স্যুইচ হতে পারে । যখন আমরা ইউআরএল টাইপ করি এবং এন্টার টিপুন, এটি একবারে একটি অনুরোধ কার্যকর করে। ঠিক?

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

7
IsReusableথ্রেড সুরক্ষার প্রয়োজনীয়তার বিষয়ে এই বিবৃতিটি অ্যান্টনিডব্লু জোন্স প্রতিক্রিয়াটির সাথে বৈপরীত্য বলে মনে হচ্ছে। আমি যেমন এর তৃতীয় অনুচ্ছেদটি বুঝতে পেরেছি (অ্যাপ্লিকেশনটি অনেকগুলি তত্ক্ষণাত্ ... এটি যদি সত্য হয় তবে থ্রেড নিরাপদে থাকার দরকার নেই।
ফ্রেডেরিক

3

যদি আপনি সেই পরিস্থিতিতে কোনও রাজ্য সঞ্চয় না করেন (যেমন: আপনার কোনও ক্ষেত্র নেই (ওরফে "শ্রেণীর ভেরিয়েবল")) তবে আপনার এটির পুনঃব্যবহার করা নিরাপদ হওয়া উচিত।

এটি ডিফল্টরূপে নিরাপদ দিকে থাকা মিথ্যা।

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