PDA

View Full Version : مشکل در استفاده از کوکی؟



Alireza_Salehi
جمعه 04 اسفند 1385, 12:43 عصر
من یه صفحه ("~/ShoppingCart.aspx")سبد خرید با استفاده از کوکی درست کردم ، در این صفحه برای تغییر تعداد محصول یک دکمه وجود دارد.
در قسمت کد در رویداد Form_Load چک میکنه اگر صفحه Postback شده باشه مقدار رو تغییر میده (مقدار جدید رو از Textbox های گریدویو میخونه و کوکی رو با کد زیر اضافه میکنه).

Dim c As New HttpCookie("ShoppingCart")
c.Expires = Now.AddMinutes(30)
c.Value = s
Response.Cookies.Add(c)البته در رویداد کلیک اون دکمه یه دستور Redirect هم وجود داره:

Response.Redirect("~/ShoppingCart.aspx")یعنی وقتی دکمه زده میشه اول پست بک میشه و بعد ریدایرکت میشه به همون صفحه !

این کد در حالت های زیر درست کار میکنه :
کامپیوتر خودم و با فایرفاکس 2
کامپیوتر خودم و با IE6
کامپیوتر خودم و با IE7

روی وب و با فایرفاکس 2
روی وب و با IE6

مشکل اینجاست که این کد با IE7 و روی وب کار نمیکنه (با کلیک شدن این دکمه کوکی از بین میره و میگه سبد خرید خالیه) !!!!!!

Behrouz_Rad
جمعه 04 اسفند 1385, 14:34 عصر
فکر می کنم اگر نام Domain رو به IE معرفی کنی مشکل برطرف بشه:

در فایل Web.Config:


<anonymousIdentification enabled="true" cookiePath="/" domain ="myDomain.com"/>
<httpCookies domain ="myDomain.com"/>

Alireza_Salehi
جمعه 04 اسفند 1385, 17:06 عصر
فکر می کنم اگر نام Domain رو به IE معرفی کنی مشکل برطرف بشه:

در فایل Web.Config:


<anonymousIdentification enabled="true" cookiePath="/" domain ="myDomain.com"/>
<httpCookies domain ="myDomain.com"/>


اینجوری بازم تو فایرفاکس جواب میده ولی تو IE7 نه!

اصلا این کارو چطوری پیاده سازی کنیم بهتره ، آیا این روشی که من استفاده کردم اشتباهه؟
یا این که طرز حذف و اضافه کردن کوکی هام غلطه؟

Behrouz_Rad
جمعه 04 اسفند 1385, 17:23 عصر
پس احتمالا مشکل باید از عدم داشتن مجوز سایتت برای ایجاد کوکی بر روی سیستم باشه.
الان دقیقا خاطرم نیست چون یک بار فقط از IE 7.0 استفاده کردم اما قسمتی وجود داره با عنوان ""always accept cookies from this site" که فکر می کنم مشکل رو حل کنه.

اصلا این کارو چطوری پیاده سازی کنیم بهتره ، آیا این روشی که من استفاده کردم اشتباهه؟
یا این که طرز حذف و اضافه کردن کوکی هام غلطه؟
بهتره ابتدا وجود کوکی قبلی رو بررسی کنی و در صورت وجود، اون رو حذف کنی و سپس کوکی جدید رو ایجاد.

موفق باشید.

Alireza_Salehi
جمعه 04 اسفند 1385, 17:46 عصر
بهتره ابتدا وجود کوکی قبلی رو بررسی کنی و در صورت وجود، اون رو حذف کنی و سپس کوکی جدید رو ایجاد.

موفق باشید.

خوب توی پست بک که نمیشه این کارو کرد مثلا اگر با expire قبلی رو حذف کنیم اثرش تو چند خط پایین تر که میخواهیم دوباره اضافش کنیم معلوم نمیشه !

c.Expires = Now.AddMinutes(-30)اصلا وقتی صفحه پست بک میشه که مقادیر کوکی ها عوض نمیشه (امتحان کردم اگر در حالت پست بک مقدار کوکی رو تغییر بدیم و چند خط بعد از کوکی استفاده کنیم مقادیر قبلی رو نشون میده- اون ریدایرکتی که نوشته بودم برای همین بود)!

Behrouz_Rad
جمعه 04 اسفند 1385, 20:30 عصر
فکر کردم از چند کوکی استفاده می کنی.

مشکلت با کوکی ها برطرف شد؟

Alireza_Salehi
جمعه 04 اسفند 1385, 20:48 عصر
رفتم توی تنظیمات IE7 تمام موارد موجود برای کوکی رو Allow کردم باز هیچ فرقی نکرد!!!!:گریه:
هنوز مشکل وجود داره!:گریه:

البته یه کوکی برای تعیین هویت (Authentication) وجود داره ، یکی هم برای سبد خرید. البته با توجه به این که کسانی که وارد سایت نشده اند هم می توانند سبد خرید را ببینند فکر نمی کنم ربطی داشته باشه چون چه کاربر وارد (login) شده باشه چه نشده باشه این مشکل وجود داره!

........

Behrouz_Rad
جمعه 04 اسفند 1385, 23:28 عصر
اگر مشکلی هم وجود داشته باشه بدین شکل قابل تشخیص نیست.
امیدوارم زودتر مشکلت برطرف بشه.

موفق باشی.

samanes
شنبه 05 اسفند 1385, 00:54 صبح
من site رو با IE7 تست کردم. مشکلی نداشت.
کوکی روی سیستم ام ساخته می شد و وقتی دکمه اعمال تغییرات رو می زنم محصول اضافه می شه. فکر کنم باید همون Validation های IE رو چک کنی یا شاید Browser هات باهم Conflict دارند.

Alireza_Salehi
شنبه 05 اسفند 1385, 09:54 صبح
ممنون از راهنمایی های همه!

من روی سیستمم هم ویندوز سرور 2003 دارم (IE6) هم XP سرویس پک 2 (IE7) جالب اینجاست که تو هر دوی این ویندوز ها این مشکل برای سایت وجود داره (زمانی که با IE وارد سایت میشم ولی با فایرفاکس نه) ، رفتم برنامه رو روی چند تا سیستم دیگه با IE7 و IE6 تست کردم هیچ مشکلی نداشت !!! :متفکر:
با توجه به این که این دو تا ویندوز از هم جدا هستند نمی دونم چرا تو هر دوتاشون مشکل وجود داره ، جالبه که قبلا توی همین ویندوز ایکس پیم با IE6 سایت هیچ مشکلی نداشت!:گیج:


به هر حال ممنون از همگی ، معلوم شد اشکال از کد نیست:لبخند: فکر کنم باید کلا سیستم رو یه فرمت کنم از اول ، این جوری نمیشه برنامه نوشت تست کرد!

اگه یه روزی معلوم شد مشکل از چیه جوابش رو میذارم.