আমাদের একটি এএসপি.এনইটি ওয়েবসাইটে সমস্যা রয়েছে যেখানে ব্যবহারকারীদের সেশনগুলি অদ্ভুতভাবে আচরণ করছে - সেশনের ডেটা উপস্থিত হবে, অদৃশ্য হয়ে যাবে এবং আবার উপস্থিত হবে।
আমি মনে করি সমস্যাটি কী তা আমি জানি:
- আমাদের সেটআপটি 2 এক্স লোড ভারসাম্যযুক্ত ওয়েব সার্ভার + একক সেশন রাষ্ট্রের ডাটাবেস।
- এএসপি.নেট এসকিউএল সেশন স্টেট স্টোরেজটি আগত আসরের কুকি আইডি এবং স্বীকৃতি / স্টোরের মানগুলি অনন্যভাবে সনাক্ত করতে আইআইএস ওয়েবসাইট ইনস্ট্যান্স আইডি (মেটাবেসেস আইডি) এর উপর নির্ভর করে।
- ওয়েবসাইটটির আইআইএস ওয়েবসাইট ইনস্ট্যান্স আইডি প্রতিটি লাইভ সার্ভারের (আইডি / ডাব্লু 3 এসভিসি / 1 / ওয়েব সার্ভার এ রুট , আইডি / ডাব্লু 3 এসভিসি / 2 / ওয়েব সার্ভার বি তে রুট ) আলাদা ।
- লোড ব্যালেন্সিং ক্লায়েন্ট অ্যাফিনিটি ব্যবহার করছে না তাই প্রতিটি ব্যবহারকারীর HTTP অনুরোধটি যে কোনও সার্ভারে যেতে পারে।
অতএব, কোনও ব্যবহারকারী সাইটে লগইন করে এবং চলাফেরা করার সাথে সাথে প্রতিটি এইচটিটিপি কল ওয়েব সার্ভারে যেতে পারে এবং তাই সার্ভারের উপর নির্ভর করে বিভিন্ন আইডি সহ একটি সেশন স্টেট রেকর্ড ব্যবহার করতে পারে। কার্যত ব্যবহারকারীর একই সাথে 2 টি পৃথক সেশন উদাহরণ থাকতে হবে। আমি বিশ্বাস করি যে এএসপিস্টেটটেম্পসেশনস টেবিল হিসাবে এটি ডাটাবেস হিসাবে যাচাই করেছি , প্রতিটি সেশনের কুকি আইডি 2 -র মতো- সুনির্দিষ্ট নামযুক্ত রেকর্ডের সাথে মিলিত বলে মনে হয় (তাদের আইডিগুলি কেবল শেষ কয়েকটি অক্ষরের দ্বারা পৃথক হয়, যা আমি বিশ্বাস করি যে অ্যাপ্লিকেশন থেকে অ্যাপিডের ভিত্তিতে একটি সংশোধক রয়েছে একে অপরের কয়েক সেকেন্ডের মধ্যে তৈরি করা হয়েছে AspStateTemp অ্যাপ্লিকেশন টেবিল)।
সুতরাং একটি অধিবেশন রেকর্ডে করা পরিবর্তনগুলি কেবল সেই ওয়েব সার্ভারের বিপরীতে স্থির থাকবে বলে সেশন স্টেটটি খারাপ ব্যবহার করবে বলে মনে হচ্ছে appear যদি ব্যবহারকারী অন্যান্য লোড-ভারসাম্য সার্ভারে চলে যায় তবে সেশনের মানগুলি অদৃশ্য হয়ে যাবে বা ফিরে যাবে বলে মনে হবে।
আমি বিশ্বাস করি যে সাইটগুলির আইআইএস ইনস্ট্যান্স আইডিগুলি সিঙ্ক্রোনাইজ করা (উদাহরণস্বরূপ এগুলি উভয় / ডাব্লু 3 এসভিসি / 1 / রুট করুন ) তবে আমি উন্নত সেটিংসের অধীনে আইআইএসে এই মানটি সম্পাদনা করার চেষ্টা করেছি এবং যদিও এটি ঠিক আছে, এটি সবেমাত্র তৈরি করেছে আমি এটি পরিবর্তন না করা পর্যন্ত সাইটটি সেই সার্ভারে 404 গুলি ফিরবে।
আমি এই সমস্যার জন্য একটি ভিবিএস স্ক্রিপ্ট পেয়েছি তবে এটি কেবল আইআইএস 6 এর জন্য বলে মনে হচ্ছে তাই আমি এটি ব্যবহার করে চিন্তিত। আইআইএস .5.৫-এ অন্য কেউ কি এই পরিস্থিতির মুখোমুখি হয়েছেন এবং আপনি কীভাবে এটি ঠিক করেছেন?
সম্পাদনা / সমাধান
আমার ভুলটি ছিল আমি আইআইএসে সাইট ইনস্ট্যান্স আইডি পরিবর্তন করার পরে আইআইএস পুনরায় চালু করতে ভুলে গিয়েছিলাম। এর পরে, আইডি আপডেট করা হয়েছিল এবং দুটি ওয়েব সার্ভারে এএসপি.এনইটি সেশনগুলি সিঙ্ক করা হয়েছিল।
সম্পূর্ণ নির্দেশাবলী:
- সার্ভারে রিমোট ডেস্কটপ LIVE1, আইআইএস এমজি খুলুন, সমস্যা সাইটে ক্লিক করুন এবং সাইডবারে অ্যাডভান্সড সেটিংস চয়ন করুন।
- আইডিটি কোনও অনন্যরূপে পরিবর্তন করুন যেমন ১০। ঠিক আছে ক্লিক করুন।
- ওয়েব পরিষেবা পুনরায় চালু করুন (
c:\windows\system32\iisreset /restart
)
LIVE2 এর জন্যও একই করুন (নিশ্চিত করুন সাইটের আইডি LIVE1 এর মতোই)
নোট করুন যে সাইট আইডি সাইট ফাইলগুলির অবস্থানের উপর প্রভাব ফেলবে যেমন লগ ফাইল ফোল্ডার C:\inetpub\logs\LogFiles\W3SVC10
উদাহরণস্বরূপ হয়ে যাবে ।
নোট সম্পাদনা সাইট দ্বারা ম্যানুয়ালি এই পরিবর্তনগুলি করতে পারে যে আইডি প্রতিটি সার্ভারে কনফিগ ফাইল আইআইএস মধ্যে অ্যাট্রিবিউট: C:\Windows\System32\inetsrv\config\applicationHost.config
। অ্যাডমিন বেসরকারী প্রয়োজন এবং এরপরে এখনও একটি পুনরায় সেট করা দরকার।