PDA

View Full Version : Session چیست ؟



merlin_vista
جمعه 16 شهریور 1386, 22:59 عصر
من قابلاً این سوالات را پرسیدم ولی تایپیکم به علت این که 3 عدد سوال را با هم پرسیدم پاک شده است !!

از دوستان کسی میتونه یک توضیح کامل درباره تابع Session برای من بنویسد ! :متفکر:

m.hamidreza
شنبه 17 شهریور 1386, 00:08 صبح
http://quickstarts.asp.net/QuickStartv20/aspnet/doc/applications/state.aspx

khz-web1
شنبه 17 شهریور 1386, 01:42 صبح
جلسات (Sessions)
فریم ورک دات نت برای رد گیری حرکت کاربر ما را تنها نگذاشته و یک امکان خوب به نام Session State را در اختیار ما قرار داده است. به طور پیش فرض وقتی کاربر اولین بار صفحه‌ای را از یک وب سایت ساخته شده با ASP.NET درخواست می کند یک کوکی جلسه به نام ASP.NET_SessionID ساخته شده و به مرورگر او ارسال میشود. با این کار ASP.NET قادر به پیگیری کاربر شده و میتواند در درخواست‌های بعدی او را شناسایی کند.

بر این اساس در ASP.NET یک شیء به نام Session قرار داده شده است که میتوانید از آن برای نگهداری اطلاعات مربوط به هر کاربر استفاده کنید.

می تونی به لینک زیر هم بری بد نیست
www.poyesh.ir/poyesh (http://www.poyesh.ir/poyesh)

روی دکمه ی تشکر هم بزن

merlin_vista
شنبه 17 شهریور 1386, 09:38 صبح
از کمک شما منون !

uthman
چهارشنبه 12 تیر 1392, 17:51 عصر
سلام.در اکثر پروژه ها لازم است که اطلاعاتی در بین صفحات انتقال داده بشه.برای این کار به دو طریق انجام میشود:
1-query string
2-session
و اما فرق این دو:
زمانی که شما نیاز دارید اطلاعاتی را بین صفات انتقال بدید که اطلاعات مهمی نیستند می توانید از روش اول استفاده کنید.زمانی که شما از روش 1 استفاده کنید اطلاعات شما به انتهای url شما اضافه میشه و کاربر میتونه اونو ببینه.خوب با این حال برای اطلاعات مهم نباید از query string استفاده کرد چون در دسترس کاربرن است.
و اما موضوع اصلی خودمون
نمومه 1:
Response.Redirect("2.aspx?name="+txtname.Text+"&family="+txtFamilt.Text+"");
و زمانی که بخواهید اطلاعات یک query string رو بخونید از کد زیر استفاده کنید
if (Request.QueryString["name"]!=null)
{
string name = Request.QueryString["name"];
}
يكی از مهمترين مزايای query string ، عدم تحميل عمليات اضافه به سرويس دهنده است .
و اما محدودیت های آن:
*اطلاعات محدود به رشته های ساده بر کاراکتر های مجاز url است.
*-اطلاعات توسط کاربران قابل مشاهده می باشد و می توانند هز چیزی را به آن تزریق کنند مثلا حملات sql enjection.
*-تعدادی از مرورگرها دارای محدودیت طول url بوده بین 1 الی 2 کیلوبایت.
انتفال با sessionها:
session ها دادای امنیت بالاتری هستند و کاربر قادر به مشاهده آنها نیستند.وقتی یک session را اضافه میکنید بین تمام صفات وجود دارد و در هر صفحه ای میتونی به اون دسترسی داشته باشی.
نکات مهم در مورد session ها:
هر session داری یک id هست که از 16 کاراکتر تشکیل شده است که این 16 کاراکتر تشکیل شده از IP Address,Mac Address پس احتمال تکراری بودن آن کم است.برای گرفتن id هر session از sessioId استفاده می کنیم.
هر session دارای یک زمان انثضا میباشد.که با timeout تعیین میشه.در صورتی که بعد از اضافه شدن session شما هیچ عملی انجام ندهید که صفحه postback شود بعد از اتمام زمان آن session از بین می رود.
نکته مهم:session ها سمت سرور هستند و در ram سرور ذخیره میشن.
دوستان اگه مایل به آموزش در مورد view state ,cooki ها هستند بگن تا براتون بزارم

reza69
چهارشنبه 16 مرداد 1392, 09:13 صبح
نکته مهم:session ها سمت سرور هستند و در ram سرور ذخیره میشن.
دوستان اگه مایل به آموزش در مورد view state ,cooki ها هستند بگن تا براتون بزارم
اگه تعداد کاربران زیاد شه مثلا 500 نفر سرور هنگ نمیکنه یا مشکلی براش پیش بیاد؟
اگه میشه آموزش در مورد view state ,cooki ها بزارین.