PDA

View Full Version : سوال در مورد session



hosseinrahmatei
چهارشنبه 17 آذر 1389, 20:53 عصر
دوستان سلام
ببینید من امروز تو یه کتاب داشتم می خوندم که برای کار با Session بود که نوشته بود کلاینت نیاز دارد ارائه دهد Session id مناسب با هر درخواست که می تواند به دو صورت انجام شود یکی از اونها به کار بردن کوکی که می گه Session id منتقل می شود به یک کوکی ویژه و.... جالب اینکه به صورت پیش فرض هم اینه
می خواستم بدونم این درسته یا نه (یعنی در Session از کوکی استفاده میشه !!!!!)
متن انگلیسیشم می زارم (شاید من اشتباه معنی می کنم ) ممنون میشم جواب بدید



For
session state to work, the client needs to present the appropriate session ID with each request. You
can accomplish this in two ways:
Using cookies: In this case, the session ID is transmitted in a special cookie (named
ASP.NET_SessionId), which ASP.NET creates automatically when the session collection is
used. This is the default, and it’s also the same approach that was used in earlier versions
of ASP.
Using modified URLs: In this case, the session ID is transmitted in a specially modified (or
“munged”) URL. This is a new feature in ASP.NET that allows you to create applications that
use session state with clients that don’t support cookies.
You’ll learn more about how to configure cookieless sessions and different session state
providers later in the “Configuring Session State” section.

NIMA_1981
چهارشنبه 17 آذر 1389, 22:14 عصر
من میدونم که کوکی سمت کاربر ساخته میشه ولی سشن سمت سرور

hosseinrahmatei
چهارشنبه 17 آذر 1389, 23:34 عصر
من میدونم که کوکی سمت کاربر ساخته میشه ولی سشن سمت سرور
دوست عزیز اینو که می دونم کوکی سمت کلاینت و سیشن سمت سرور ولی اینجا تو این کتاب نوشته

"برای کار با Session بود که نوشته بود کلاینت نیاز دارد ارائه دهد Session id مناسب با هر درخواست که می تواند به دو صورت انجام شود یکی از اونها به کار بردن کوکی که می گه Session id منتقل می شود به یک کوکی ویژه و..."

پس برای دسترسی به Session در صفحات مختلف نیاز به کوکی هست ؟!

PhoenixNet
چهارشنبه 17 آذر 1389, 23:55 عصر
سلام

هر Session که ایجاد میشه یک SessionID برای دسترسی به اطلاعات این Session ایجاد و برای مرورگر ارسال میشه.خود اطلاعات Session روی سرور ذخیره میشه ولی SessionID به صورت پیش فرض درون کوکی ذخیره میشه ولی با تنظیم میشه درون URL هم ذخیره بشه که این میتونه در صورتی باشه که کاربر کوکی را غیر فعال کرده باشد.

این قسمت از سایت مایکروسافت به آدرس http://msdn.microsoft.com/en-us/library/ms178581.aspx



Sessions are identified by a unique identifier that can be read by using the SessionID property. When session state is enabled for an ASP.NET application, each request for a page in the application is examined for a SessionID value sent from the browser. If no SessionID value is supplied, ASP.NET starts a new session and the SessionID value for that session is sent to the browser with the response.

By default, SessionID values are stored in a cookie. However, you can also configure the application to store SessionID values in the URL for a "cookieless" session.

hosseinrahmatei
پنج شنبه 18 آذر 1389, 12:26 عصر
سلام

هر Session که ایجاد میشه یک SessionID برای دسترسی به اطلاعات این Session ایجاد و برای مرورگر ارسال میشه.خود اطلاعات Session روی سرور ذخیره میشه ولی SessionID به صورت پیش فرض درون کوکی ذخیره میشه ولی با تنظیم میشه درون URL هم ذخیره بشه که این میتونه در صورتی باشه که کاربر کوکی را غیر فعال کرده باشد.

این قسمت از سایت مایکروسافت به آدرس http://msdn.microsoft.com/en-us/library/ms178581.aspx
دوست عزیز با این اوصاف اگه ما همان پیش فرض را انتخاب کرده باشیم(یعنی using cookie ) و کوکی در سیستم کاربر فعال نباشد Session کار نمی کنه

PhoenixNet
پنج شنبه 18 آذر 1389, 17:46 عصر
برای تنظیم حالت کوکی :



<configuration>
<system.web>
<sessionState cookieless="true"
regenerateExpiredSessionId="true" />
</system.web>
</configuration>



اگر cookieless را false قرار بدهید و کاربر کوکی رو غیر فعال کرده باشد قاعدتا کار نمی کند.الان برای اطمینان بیشتر چک کردم.(IE8-Firefox-Mozila-Chrome)مورد عجیب اینکه توی IE8:متعجب: هنوز کار می کرد.احتمالا به خاطر شاهکارای مایکروسافت باشه که این کوکی رو به صورت قایمکی قبول می کنه.کوکی به نام ASPNET_SesionID.

hosseinrahmatei
پنج شنبه 18 آذر 1389, 19:32 عصر
پس دوست عزیز اگه حالت پیش فرض فعال باشه یعنی کوکی و کوکی مرورگر غیر فعال Session کار نمی کنه خوب پس بهتره از روش ذوم بریم که در روش دوم هم Session id رو تو url میزاره
حالا به نظر شما کدوم بهتر استفاده کنیم .

PhoenixNet
پنج شنبه 18 آذر 1389, 21:50 عصر
نه نیازی نیست از روش دوم استفاده کنید.چون خیلی کم پیش میاد کسی کوکی رو غیر فعال بکنه چون از اگه این کارو بکنه از هیچ سرویسی مانند جیمیل یا یاهو نمیتونه استفاده کنه.
نکته بعد اینکه اگه از URL برای انتقال SessionID استفاده کنید دائما تو لینکاتون باید مطمئن شید که SessionID هم منتقل کردید.
شما می تونید چک کنید اگر کوکی غیر فعال بود پیغام مناسب به کاربر بده که کوکی را فعال کند.

hosseinrahmatei
جمعه 19 آذر 1389, 11:16 صبح
االان سایت برنامه نویس Session رو تو url قرار میده اگه cookie غیرفعال باشه و اگه فعال باشه تو کوکی فکر کنم . یعنی میشه چک کنم اگه اگه کوکی فعال بود در کوکی اگر فعال نبود در url قرار بده ؟ همونطور هم که گفتی تو gmail و yahoo از cookie استفاده می کنه به نظر من هم استفاده در url مشکلاتی بیشتری رو ممکن ایجاد کنه . ممنون از اینکه پاسخ دادی به سوالام :لبخندساده: