আইআইএস 7.5 - ওয়েবকনফিগ আপডেট হওয়ার পরে ওভারল্যাপেড পুনর্ব্যবহারযোগ্য সম্পত্তি অক্ষম করুন


25

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

এটি হওয়ার জন্য, আমি Disable Overlapped Recycleঅ্যাপ্লিকেশন পুলটিতে সম্পত্তি সেট করেছি True। এই সম্পত্তিটি নিশ্চিত করা উচিত যে যখনই অ্যাপ পুলটি পুনর্ব্যবহার করা হবে তখন কোনও নতুন শুরু হওয়ার আগে পুরানো কর্মী প্রক্রিয়া পুরোপুরি বন্ধ হয়ে যায়। আইআইএস-এর মাধ্যমে যখন অ্যাপ পুলটি ম্যানুয়ালি পুনর্ব্যবহার করা হয় তখনই এটি কার্যকর হয়, নিষ্ক্রিয়-সময়সীমার ফলাফল হিসাবে বা স্বয়ংক্রিয়ভাবে কোনও নির্দিষ্ট সময় / সময়ের ব্যবধান অনুসারে স্বয়ংক্রিয়ভাবে কার্যকর হয়।

তবে, সাইটের ওয়েবকনফিগটি আপডেট হয়ে গেলে, এই নিয়মটি প্রয়োগ হচ্ছে না - পুরানোটি বন্ধ হয়ে যাওয়ার আগে একটি নতুন কর্মী প্রক্রিয়া শুরু হবে। এর ফলে খারাপ কিছু ঘটে। ওয়েব কোড.ফিনিংস আপডেট হওয়ার সাথে সাথে অ্যাপটি পুলটি পুনর্ব্যবহৃত হওয়া চাই হিসাবে আমার Disable Recycling for Configuration Changesসম্পত্তিটি সেট করা আছে False- বিকাশের সময় এটি প্রায়শই ঘটে।

এটি কি এমন কিছু যা প্রত্যাশিত, বা এটি আইআইএস-এ কোনও বাগ আছে? সেটআপ করার জন্য আমার একমাত্র বিকল্প কী যাতে ওয়েবকনফিগ পরিবর্তন করা অ্যাপ পুলটিকে পুনর্ব্যক্ত না করে? আমি বরং এটি করব না, যেহেতু আমি দৃ sure়ভাবে নিশ্চিত যে এটি কনফিগারেশন পরিবর্তন করে এবং এরপরে অ্যাপ পুলটিকে পুনর্ব্যবহার করতে ভুলে অনেক লোকের মাথা ব্যথা সৃষ্টি করবে।

হালনাগাদ:

আরও স্পষ্ট করে বলতে গেলে, যখন startপুরানো শ্রমিক প্রক্রিয়াটি বন্ধ হয়ে যাওয়ার আগে নতুন কর্মী প্রক্রিয়া ইভেন্ট ডাকা হয়, তখন পুরানো কর্মী প্রক্রিয়া endইভেন্টটি কখনই ডাকে না - এটি ক্রমবর্ধমান হয় না, এটি কখনই ঘটে না।


নতুন কর্মী প্রক্রিয়া শুরুর আগে কতক্ষণ ওয়েবকনফিগ আপডেট হয়?
গ্রেগ Askew

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

আমি একই সমস্যা আছে। ওভারল্যাপ রয়েছে
অ্যান্ড্রু রিমার

11
ওয়েবকনফিগ ফাইল সম্পাদনা করার ফলে অ্যাপডোমাইন পুনরায় লোড হয়। অ্যাপডোমাইন অ্যাপপুল থেকে পৃথক। কেবলমাত্র ওয়েবকনফিগ পরিবর্তন করে আপনার কোনও নতুন ডাব্লু 3 ডাব্লুপি প্রক্রিয়া আইডি দেখতে পাওয়া উচিত নয়। এখানে দেখুন treeloop.com/blog/iis-application-domain-and-pool-recycling
kheld

1
@ খেল্ড একেবারে সঠিক (সম্ভবত এটি উত্তর হিসাবে যুক্ত করুন) এটি কোনও অ্যাপল ওভারল্যাপ নয়, এটি একটি অ্যাপডোমেন ওভারল্যাপ। আমি বিশ্বাস করি না আপনি এটি বন্ধ করতে পারবেন তবে আপনি পরিবর্তনের ক্ষেত্রে অ্যাপ ডোমেন পুনর্ব্যবহারযোগ্য অক্ষম করতে পারবেন।
স্যাম কোগান

উত্তর:


1

এই এমএসডিএন পোস্ট থেকে: https ://blogs.msdn.mic Microsoft.com/tess/2006/08/02/asp-net-case-study-lost-session-variables- এবং-appdomain-recycles/

সুতরাং আপনার কোড মোতায়েনের প্রক্রিয়াটির অংশ হিসাবে দেখে মনে হচ্ছে আপনার পুলটি পুনর্ব্যবহার করবে যখন আপনি এই পরিবর্তনগুলির কোনও একটি নিযুক্ত করবেন:

তাত্ক্ষণিক পুনর্ব্যবহারযোগ্য

  • Web.config পরিবর্তন
  • মেশিন.কনফিগ পরিবর্তন হয়
  • Global.asax পরিবর্তন
  • বিন ডিরেক্টরি পরিবর্তন
  • অ্যাপ_কোড পরিবর্তন হয়

( ধার নেওয়া থেকে: /programming/302110/ কি- কারণগুলি- অ্যাপ্লিকেশন- পুল- in-iis-to-re यकल )

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