У меня есть веб-сервис (ASP.NET 2.0), который я вызываю из javascript, используя jQuery's $.ajax()
. Мне сказали, что сеансовый ключ часто используется как одноразовый номер в такой ситуации в целях безопасности; веб-служба принимает ключ в качестве одного из своих параметров и возвращает данные только в том случае, если он соответствует ключу текущего сеанса.
Я пытаюсь добиться этого, устанавливая значение скрытого поля для текущего SessionID на каждом Page_Load
(т.е. каждый постбэк), а затем захватывая его в javascript для передачи в качестве параметра. Но он никогда не совпадает с текущим ключом веб-службы (Context.Session.SessionID
).
Возможно ли это решить, или я должен делать это по-другому?
РЕДАКТИРОВАТЬ: код для установки сеанса в скрытом поле в соответствии с запросом.
hfSession.Value = Context.Session.SessionID;
Это в Page_Load
элемента управления .ascx, без каких-либо условий (т. Е. Не заключено в if (!Page.IsPostBack)
.