Сеанс потерян и Page (). User.Identity.IsAuthenticated = false при вызове WebService - PullRequest
2 голосов
/ 06 декабря 2011

Вот моя проблема:

Я вошел в систему

На aspx:

  • (в aspx) myclass.User.Id -> ok
  • (В моем классе) Page (). User.Identity.IsAuthenticated = true
  • (в myclass) Page (). Session ["User"] == "myUser"

Пока все хорошо, но потом, с SWF , я называю вебсервис:

  • (в веб-сервисе) myclass.User.Id -> null
  • (в myclass) Page (). User.Identity.IsAuthenticated = false
  • (в myclass) Page (). Session ["User"] == null

почему одни и те же вещи возвращают разные значения в одном сеансе?

почему я проигрываю сессию?

Спасибо!

EDIT:

Я только что понял, что вызов webservice делает swf, а не ajax. нет способа сохранить сессию?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 06 декабря 2011

Убедитесь, что вы включили сеанс для метода веб-службы.

Фактически вы можете использовать параметр EnableSession атрибута WebMethod для этого, как в следующем примере:

[WebMethod(EnableSession=true)]
public void SomeMethod() {
    // here you do some manipulation based on data stored in session
}
0 голосов
/ 06 декабря 2011

попробуйте использовать HttpContext.Current.Session для доступа к переменным сеанса в коде вашего веб-сервиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...