Проблема с URL-адресом сеанса без файлов cookie ASP.NET ТОЛЬКО в мобильном сафари

Мы размещены на AppHarbor и используем их надстройку memcacher, настройку, как описано в их документации:


  
    
  

Мы видим проблему, которая может быть воспроизведена ТОЛЬКО:

  1. Следуя сокращенному URL-адресу в Twitter на appfail.net внутри iOS Safari (или во встроенном браузере webkit приложения Twitter для iPhone): http://t.co/6tRXopEJ
  2. Нажмите кнопку «Запустить демо», после чего пользователь автоматически войдет в систему с нашей демо-учетной записью.

В этот момент сервер выполняет перенаправление 302 на недопустимый URL-адрес, например: http://appfail.net/(F(FckQ4UX0zD_WSxk_adpkk3YysHsYQS4TSVpljxmswyBqEAZ1q-YhW4KePrpYQfJ4KlLGaiyje_TbpeSARVyI8LioQ7Jp5EIc0Zm9u99IqRRkkoMh_wr-jrsrvje4J7KpUt1n87xEMzMeqHzpMz9ksm42IqNnf3F9B6GBwrnuA5EY_YsV0))/Applications

URL-адрес, как представляется, содержат SessionID, в том же формате, что IIS использует для Cookieless сеансов. Это также имело бы смысл, поскольку IIS можно настроить на использование файлов cookie без сеанса на основе UserAgent, поэтому он воспроизводится только в мобильном сафари (хотя я не уверен, почему это происходит только с перенаправлением t.co/, а не когда загрузка страницы напрямую)

Странно то, что у нас отключены сеансы без файлов cookie! Как вы можете видеть в состоянии сеанса выше. Я также пробовал это с настройкой 'cookieless="UseCookies"'...Неудачно!

Я добавил ведение журнала и даже проверил, что система настроена как «UseCookies» во время работы.

Итак, мне интересно, как мы можем перенаправлять пользователей на URL без файлов cookie, просто используя RedirectToAction()?

Мне интересно, может ли это быть связано с настраиваемым поставщиком состояния сеанса — MemcachedProvider? Или это что-то более основное?

Спасибо Sam

7
задан friism 12 June 2012 в 15:10
поделиться