Состояние сеанса с помощью jQuery / Ajax и веб-службы ASP.NET - PullRequest
0 голосов
/ 02 декабря 2009

Я пытаюсь использовать веб-сервис ASP.NET, используя методы jjuery Ajax. Я хочу, чтобы тип возвращаемого метода веб-службы был данными в формате JSON, и я помечаю метод следующими атрибутами:

[WebMethod(EnableSession = true)]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public MyObject[] GetMyObjects(int pageIndex) {/*...*/}

Я хочу также вернуть из метода какое-либо значение, которое указывало бы, истек ли сеанс, либо в заголовках SOAP выходной параметр. Как бы я сделал это с синтаксисом jQuery? Должен ли я обернуть мой массив MyObject[] в сериализуемый объект ResponseType, который содержит свойство SessionValid и полезную нагрузку? Или можно использовать заголовки SOAP и выходные параметры с jQuery?

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 декабря 2009

Я не совсем знаком с использованием сессий в веб-сервисах SOAP. Тем не менее, я наткнулся на в этом посте , в котором говорится, что JavaScript должен будет учитывать cookie-файлы, поскольку именно так поддерживается сеанс.

Хотя SOAP может использовать другой метод для отслеживания сеанса через его заголовки, поэтому я не знаю, насколько это точно.

1 голос
/ 02 декабря 2009

Должен ли я обернуть мой массив MyObject [] в сериализуемый объект ResponseType, который содержит свойство SessionValid и полезную нагрузку?

Я обычно так поступаю.
Не требует много времени для внедрения и очень прост в обслуживании.

[Serializable]
public class MyReturn
{
  public MyObject[] MyObjectList { get; set; }
  public bool SessionExpired { get; set; }
}

Затем обработайте это там, где вы делаете вызов AJAX.

РЕДАКТИРОВАТЬ : я обычно использую только

//...
contentType: "application/json; charset=utf-8",
dataType: "json", 
//...

в моих вызовах AJAX, чтобы убедиться, что возвращаемый тип имеет формат JSON.

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