এএসপি.নেটে সেশনের সময়সীমা শেষ


163

আমি আইআইএস 6.0 এ একটি এএসপি.এনইটি 2.0 অ্যাপ্লিকেশন চালাচ্ছি। আমি চাই সেশনের সময়সীমাটি ডিফল্ট 20 মিনিটের চেয়ে 60 মিনিট হওয়া উচিত। আমি নিম্নলিখিতটি করেছি

  1. সেট <sessionState timeout="60"></sessionState> মধ্যে web.config
  2. আইআইএস ম্যানেজার / ওয়েব সাইট বৈশিষ্ট্য / এএসপি.নেট কনফিগারেশন সেটিংসে সেশনের সময়সীমা 60 মিনিটে সেট করুন।
  3. অ্যাপ্লিকেশন পুল বৈশিষ্ট্য / কার্য সম্পাদনে অলস সময়সীমা 60 মিনিটে সেট করুন।

আমি এখনও 20 মিনিটে সেশনের সময়সীমা পেয়েছি। আমার আরও কিছু করার দরকার আছে?


1
আপনি কীভাবে 20 মিনিট পরিমাপ করেছেন সে সম্পর্কে দয়া করে তথ্য সরবরাহ করুন। আসুন নিশ্চিত হয়ে নিন যে ২০ মিনিট একটি সেশনের সময়সীমা, এবং অন্য কোনও ধরণের নয়।
জন স্যান্ডার্স

11
অনুগ্রহ করে উপরে / ডাউনভোট তীরগুলির নিকটে চেকমার্কটি ব্যবহার করে মান হিসাবে উত্তর হিসাবে চিহ্নিত করুন
ব্রায়ান ওয়েবস্টার

3
আট বছর পরে, সঠিক উত্তর এখনও গৃহীত হয়নি।
নাথান

আইআইএস ম্যানেজার / ওয়েব সাইট বৈশিষ্ট্য / এএসপি.এনইটি কনফিগারেশন সেটিংস বলতে কী বোঝাতে চাইছেন দয়া করে তা স্পষ্ট করুন। ধাপে ধাপে আইআইএস-এ আপনি কী পরিবর্তন করেছেন?
নিকো

উত্তর:


275

আপনি কি ফর্ম প্রমাণীকরণ ব্যবহার করছেন?

ফর্ম প্রমাণীকরণের সময়সীমা (ডিফল্ট অনুসারে 30 মিনিট) এর নিজস্ব মান ব্যবহার হয় 30 একটি ফর্ম প্রমাণীকরণের সময়সীমাটি সেশনটি সক্রিয় থাকাকালীন ব্যবহারকারীকে লগইন পৃষ্ঠায় প্রেরণ করবে। এটি আপনার অ্যাপ্লিকেশনটি এমন আচরণের মতো দেখাতে পারে যখন সেশন সময়টি একে অপরের সাথে বিভ্রান্ত করা সহজ করে তোলে।

<system.web>
    <authentication mode="Forms">
          <forms timeout="50"/>
    </authentication>

    <sessionState timeout="60"  />
</system.web>

সেশন সময়সীমার চেয়ে কম কিছুতে ফর্মের সময়সীমা সেট করা ব্যবহারকারীকে কোনও উইন্ডো দিতে পারে যাতে কোনও সেশন ডেটা না হারিয়েই লগ ইন করতে হয়।



44

আমি ওয়েবকনফিগ বা আইআইএস সম্পর্কে জানি না। তবে আমি বিশ্বাস করি যে সি # কোড থেকে আপনি এটি পছন্দ করতে পারেন

Session.Timeout = 60; // 60 is number of minutes

22
এটি কি কেবলমাত্র বর্তমান অধিবেশনটির সময়সীমা সামঞ্জস্য করবে? বা এটি পুরো অ্যাপ্লিকেশনটির সময়সীমা সামঞ্জস্য করবে?
জনচেল

2
ডকুমেন্টেশনের কোনও কিছুই ইঙ্গিত করে না যে সেটিংটি Session.Timeoutওয়েবকনফিগ বা আইআইএস ব্যবহারের চেয়ে আলাদা কিছু নয়, তাই আমি ধরে নিচ্ছি এটি পুরো অ্যাপ্লিকেশনের জন্য।
Drasive

আমি মনে করি @ ড্রেসিভের অধিকার আছে, তবে এটি অবশ্যই কমপক্ষে 2 টি পৃথক সংযুক্ত ক্লায়েন্টকে সার্ভারে প্রমাণিত করতে হবে এবং অলস সেশনটির সময়সীমা পরীক্ষা করতে হবে।
কিউমাস্টার

42

আপনার ওয়েব.কমফিগ ফাইলে নিম্নলিখিত কোড ব্লকটি ব্যবহার করুন। এখানে ডিফল্ট সেশন সময় 80 মিনিট হয়।

<system.web>
 <sessionState mode="InProc" cookieless="false" timeout="80" />
</system.web>

পপআপ সতর্কতা বার্তার সাথে সেশন সময়সীমার জন্য নিম্নলিখিত লিঙ্কটি ব্যবহার করুন।

সেশন টাইমআউট উদাহরণ

এফওয়াইআই: উপরের উদাহরণগুলি ডেভ এক্সপ্রেস পপআপ নিয়ন্ত্রণের সাহায্যে সম্পন্ন করা হয়েছে যাতে আপনার স্বাভাবিক পপআপ নিয়ন্ত্রণের সাথে ডিভ এক্সপ্রেস পপআপ নিয়ন্ত্রণটি কাস্টমাইজ / প্রতিস্থাপন করতে হবে। আপনি যদি ডেভপ্রেস ব্যবহার করেন তবে কাস্টমাইজ করার দরকার নেই


কুকিলেস মিথ্যা?
কিকিনেট

3
@ কিকিনেট, আপনি যদি কুকিহীনকে সত্য হিসাবে সেট করেন তবে আপনার সেশনটি ইউআরএল এম্বেড করা হবে যা উচ্চ সুরক্ষা ঝুঁকিপূর্ণ। এএসপি.এনইটি ফ্রেমওয়ার্কটি ইউআরএলটিতে একটি অনন্য আইডি সন্নিবেশ করে, আপনি কুকি অক্ষম করে বা কুকিবিহীন বৈশিষ্ট্যটিকে সত্য হিসাবে সেট করে এটি পরীক্ষা করতে পারেন। এমএসডিএন অনুসারে, ডিফল্টরূপে, সেশনআইড মানটি ব্রাউজারে অ-মেয়াদোত্তীর্ণ সেশন কুকিতে সংরক্ষণ করা হয় তবে আপনি যদি কুকিবিহীন = "সত্য" নির্দিষ্ট করে থাকেন তবে এএসপি.এনইটি স্বয়ংক্রিয়ভাবে পৃষ্ঠার ইউআরএলে একটি স্বতন্ত্র সেশন আইডি byুকিয়ে কুকিবিহীন সেশন অবস্থা বজায় রাখে ।
হামজা খানজাদা

8

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

এছাড়াও, আমি যদি সঠিকভাবে মনে রাখি তবে আইআইএস-র সময়সীমা কেবল .এসপি পৃষ্ঠাগুলিকেই প্রভাবিত করে, এসএসপিএক্সকে না। আপনি কি নিশ্চিত যে ওয়েবকনফাইগে আপনার সেশন কোডটি সঠিক? এর মতো কিছু দেখতে পাওয়া উচিত:

<sessionState
    mode="InProc"
    stateConnectionString="tcpip=127.0.0.1:42424"
    stateNetworkTimeout="60"
    sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI"
    cookieless="false"
    timeout="60"
/>

8

আমার পরিস্থিতিতে এটি ছিল অ্যাপ্লিকেশন পুল। এক্সএক্স মিনিটের জন্য নিষ্ক্রিয় হলে এটি পুনরায় চালু করতে সেট করা হয়। যখন আমি এটি পুনরায় আরম্ভ না করার জন্য সেট করি তখন এটি ওয়েব কনফিগারেশন থেকে মান ব্যবহার করে seems


আমি জানি আমরা ২০২০ কিন্তু এটাই আমার সমস্যা সমাধানের জন্য ধন্যবাদ!
বাইনারি 9

8

আপনার সাধারণত যা করা দরকার তা হ'ল ...

আপনি কি নিশ্চিত যে 20 মিনিটের পরে, অধিবেশনটি নষ্ট হওয়ার কারণটি নিষ্ক্রিয় হওয়া থেকে ...

অধিবেশনটি কেন সাফ হতে পারে সে সম্পর্কে অনেকগুলি কারণ রয়েছে। আপনি আইআইএস-এর জন্য ইভেন্ট লগিং সক্ষম করতে পারেন এবং তারপরে ইভেন্ট ভিউয়ারটি সেশনটি সাফ হওয়ার কারণগুলির কারণগুলি ব্যবহার করতে পারেন ... আপনি সম্ভবত এটি অন্যান্য কারণে সম্ভবত খুঁজে পেতে পারেন?

আপনি ইভেন্ট বার্তা এবং ইভেন্টের সম্পর্কিত টেবিলের জন্য ডকুমেন্টেশনও পড়তে পারেন ।


3

আপনি যদি প্রমাণীকরণ ব্যবহার করে থাকেন তবে আমি নিম্নলিখিতটি ওয়েবকনফিগ ফাইলে যুক্ত করার পরামর্শ দিচ্ছি।

আমার ক্ষেত্রে, ব্যবহারকারীদের সময় নির্ধারণের পরে লগইন পৃষ্ঠায় পুনঃনির্দেশিত করা হয়:

<authentication mode="Forms">
    <forms defaultUrl="Login.aspx" timeout="120"/>
</authentication>

আমি এটি
ওয়েবকনফিগ


2

যেহেতু এএসপি.নেট কোর 1.0 (vNext বা এর জন্য যে কোনও নামই ব্যবহৃত হয়) সেশনগুলি আলাদাভাবে প্রয়োগ করা হয়। আমি সময় সময়সীমার মান পরিবর্তন Startup.cs, void ConfigureServicesব্যবহার করছে:

services.AddSession(options => options.IdleTimeout = TimeSpan.FromSeconds(42));

অথবা আপনি যদি appsettings.jsonফাইলটি ব্যবহার করতে চান তবে আপনি এর মতো কিছু করতে পারেন:

// Appsettings.json
"SessionOptions": {
    "IdleTimeout": "00:30:00"
}

// Startup.cs
services.AddSession(options => options.IdleTimeout = TimeSpan.Parse(Config.GetSection("SessionOptions")["IdleTimeout"]));

2

আপনি এখানে আইআইএসে সেটিংসটি খুঁজে পেতে পারেন:

সেটিংস

এটি "এএসপি" এর অধীনে সার্ভার স্তর, ওয়েব সাইট স্তর বা অ্যাপ স্তরে পাওয়া যাবে।

আমি মনে করি আপনি এটি এখানে ওয়েবকনফিগ স্তরে সেট করতে পারেন। আপনার নিজের জন্য এটি নিশ্চিত করুন।

<configuration>
   <system.web>

      <!-- Session Timeout in Minutes (Also in Global.asax) -->
       <sessionState timeout="1440"/>

   </system.web>
</configuration>

গ্লোবাল.এক্সএক্সেও?
কুইকিনেট

1

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


আইআইএস-এর অ্যাপ পুলের সময়সীমা সম্পর্কে কী বলা যায়?
স্টিভকাভ

1

ডিফল্ট সেশনের সময়সীমা আইআইএস থেকে 20 মিনিটের মধ্যে সংজ্ঞায়িত করা হয়

আইআইএস 8.5 ওয়েবে হোস্ট করা প্রতিটি সাইটের জন্য নীচের পদ্ধতিগুলি অনুসরণ করুন

আইআইএস টাইমআউট কনফিগারেশন

আইআইএস 8.5 ম্যানেজারটি খুলুন।

সাইটের নাম ক্লিক করুন।

"পরিচালনা" বিভাগের অধীনে "কনফিগারেশন সম্পাদক" নির্বাচন করুন।

কনফিগারেশন সম্পাদকের শীর্ষে "বিভাগ:" ড্রপ-ডাউন তালিকা থেকে "সিস্টেম.web / সেশনস্টেট" সন্ধান করুন।

প্রয়োগের উপর নির্ভর করে সর্বনিম্ন মানটি ব্যবহার করে "টাইমআউট" সেট করুন "গ্রহণযোগ্য মানগুলি হ'ল উচ্চ-মান অ্যাপ্লিকেশনের জন্য 5 মিনিট, মাঝারি মানের অ্যাপ্লিকেশনের জন্য 10 মিনিট এবং কম 20 মিনিটের জন্য অ্যাপ্লিকেশন মূল্য।

"ক্রিয়াগুলি" ফলকে, "প্রয়োগ করুন" ক্লিক করুন।


0

আপনি যদি অপসারণের চেয়ে ওয়েবসাইটটির সেশন সময়সীমা চান want

<authentication mode="Forms">
      <forms timeout="50"/>
</authentication>

web.config ফাইল থেকে ট্যাগ।


-1

টাইমআউট বৈশিষ্ট্যটি কয়েক মিনিটের মধ্যে আবেদনের জন্য সেশন অবজেক্টকে নির্ধারিত সময়সীমা নির্দিষ্ট করে। যদি সময়সীমার মধ্যে ব্যবহারকারী কোনও পৃষ্ঠা রিফ্রেশ না করে বা অনুরোধ না করে, সেশনটি শেষ হয়।

আইআইএস 6.0: সর্বনিম্ন অনুমোদিত মান 1 মিনিট এবং সর্বোচ্চ 1440 মিনিট।

Session.Timeout = 600;

-2

আইআইএসে সেশনের সময়সীমা মান পরিবর্তন করার পরে, দয়া করে আইআইএস পুনরায় চালু করুন। এটি অর্জন করতে কমান্ড প্রম্পটে যান। আইআইএসআরএসইটি টাইপ করুন এবং এন্টার টিপুন।


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