c# - ওয়েব.config মধ্যে সেশন সময়সীমার সেট কিভাবে



asp.net .net (2)

আপনি 20 মিনিট সময়সীমা সেট করতে চান, এই মত কিছু ব্যবহার করুন:

    <configuration>
      <system.web>
         <sessionState timeout="20"></sessionState>
      </system.web>
    </configuration>

আমি খুব কঠোর চেষ্টা করেছি কিন্তু একটি ASP.Net ওয়েব অ্যাপ্লিকেশনের জন্য ইন-প্রসেস সেশনের জন্য সেশন টাইমআউট মান সেট করতে কীভাবে সমাধান খুঁজে পাচ্ছি না।

আমি VSTS 2008 + নেট 3.5+ সি # ব্যবহার করছি। 1 মিনিটের জন্য টাইমআউট সেট করতে আমি নিজে নিজে লিখেছি, এটা কি সঠিক?

আমি system.web বিভাগে web.config অধীনে লিখেছি

<sessionState timeout="1" mode="InProc" />

Answer #1

timeout বৈশিষ্ট্যতে আপনি যে মানটি সেট করছেন সেটি হল সময়সীমা মান নির্ধারণ করার সঠিক উপায়গুলির একটি।

timeout বৈশিষ্ট্যটি পরিত্যক্ত হওয়ার আগে কোনও অধিবেশন নিষ্ক্রিয় হওয়ার মিনিট সংজ্ঞায়িত করে। এই বৈশিষ্ট্যটির জন্য ডিফল্ট মান ২0।

এই বৈশিষ্ট্যটি 1 এর মান নির্ধারণ করে, আপনি নিষ্ক্রিয় হওয়ার 1 মিনিটের মধ্যে সেশনটি পরিত্যক্ত করতে সেট করেছেন।

এটি পরীক্ষা করার জন্য, একটি সাধারণ ASPX পৃষ্ঠা তৈরি করুন এবং এই কোডটি পৃষ্ঠা-লোড ইভেন্টে লিখুন,

Response.Write(Session.SessionID);

একটি ব্রাউজার খুলুন এবং এই পৃষ্ঠায় যান। একটি সেশন আইডি মুদ্রিত হবে। পাস করার জন্য একটি মিনিট অপেক্ষা করুন, তারপরে রিফ্রেশ করুন। সেশন আইডি পরিবর্তন হবে।

এখন, আমার অনুমান সঠিক হলে, আপনি আপনার ব্যবহারকারীদের সেশন সময় আউট হিসাবে লগ আউট করতে চান। এটি করার জন্য, আপনি লগইন পৃষ্ঠাটি আপগ্রেড করতে পারেন যা ব্যবহারকারীর শংসাপত্রগুলি যাচাই করবে এবং এর মত একটি সেশন পরিবর্তনশীল তৈরি করবে -

Session["UserId"] = 1;

এখন, আপনাকে এই পরিবর্তনশীলের জন্য প্রতিটি পৃষ্ঠায় একটি চেক সঞ্চালন করতে হবে -

if(Session["UserId"] == null)
    Response.Redirect("login.aspx");

এটি কিভাবে কাজ করবে তার একটি বেয়ার-হাড় উদাহরণ।

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





visual-studio-2008